Подтвердить что ты не робот

Получить профиль пользователя увеличить изображение из facebook с помощью omniauth в dev 2.0

Я хочу получить профиль пользователя из обычного или обычного изображения с facebook. Теперь я получаю квадратную версию от изображения профиля пользователя с помощью этого кода:

:image => access_token.info.image
# http://graph.facebook.com/id/picture?type=square

Как получить большие или обычные версии?

Или и приложение, Как я могу заменить в этом URL последнее слово, большой квадрат...

Большое спасибо!

4b9b3361

Ответ 1

Ниже представлены 4 разных размера изображений профиля, разрешенных с помощью facebook.

http://graph.facebook.com/id/picture?type=small
http://graph.facebook.com/id/picture?type=square
http://graph.facebook.com/id/picture?type=large
http://graph.facebook.com/id/picture?type=normal

Ответ 2

Если вы хотите захватить изображение другого размера во время входа в систему, в стратегии omniauth-facebook есть возможность изменить, какое изображение требуется.

image_size: установите размер для возвращаемого URL-адреса изображения в хэше auth.

Например, большое изображение будет запрошено в omniauth.rb следующим образом:

provider :facebook, 'secrets', 'sekrets', :image_size => 'large'

https://github.com/mkdynamic/omniauth-facebook#configuring

Ответ 3

Когда вы сохраняете его в БД, вы можете сделать это следующим образом: access_token.info.image.split("=")[0] << "=large"

и просто измените масштаб на любой размер, который вы хотите.

Или у вас может быть вспомогательный метод для отображения разных размеров в ваших представлениях.

def profile_photo(type="large")
  puts @user.image.split("=")[0] << "=#{type}"
end

profile_photo("small") #=> http://url?type=small

profile_photo("square") #=> http://url?type=square

profile_photo #=> http://url?type=large

profile_photo("normal")  #=> http://url?type=normal

Ответ 4

Вместо изменения файла конфигурации я просто добавил + "?type=large" к URL-адресу.

<%= image_tag current_user.image + "?type=large" %>

чтобы вы могли запросить разные размеры в любое время.

<%= image_tag current_user.image + "?type=normal" %>

<%= image_tag current_user.image + "?type=small" %>