Получить профиль пользователя увеличить изображение из facebook с помощью omniauth в dev 2.0
Я хочу получить профиль пользователя из обычного или обычного изображения с facebook. Теперь я получаю квадратную версию от изображения профиля пользователя с помощью этого кода:
:image => access_token.info.image
# http://graph.facebook.com/id/picture?type=square
Как получить большие или обычные версии?
Или и приложение, Как я могу заменить в этом URL последнее слово, большой квадрат...
Большое спасибо!
Ответы
Ответ 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" %>