23

Facebookからユーザープロファイルの大きな写真または通常の写真を取得したい。次のコードを使用して、ユーザー プロフィール写真から正方形のバージョンを取得します。

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

大きいバージョンまたは通常のバージョンを入手するにはどうすればよいですか?

または、アプリ、このURLの最後の単語を正方形の代わりに大きく置き換えるにはどうすればよいですか...

どうもありがとうございました!

4

4 に答える 4

33

ログイン時に別のサイズの画像を取得したい場合、omniauth-facebook 戦略には、要求される画像を変更するオプションがあります。

image_size: 認証ハッシュで返される画像 URL のサイズを設定します。

たとえば、大きな画像は omniauth.rb で次のようにリクエストされます。

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

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

于 2012-06-07T16:04:02.497 に答える
27

以下は、Facebook で許可されている 4 つの異なるサイズのプロフィール写真です。

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
于 2012-05-10T11:28:55.020 に答える
4

DBに保存すると、次のようになります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
于 2012-06-14T10:01:02.873 に答える
2

+ "?type=large"構成ファイルを変更する代わりに、URLに追加しました。

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

そのため、いつでもさまざまなサイズをリクエストできます。

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

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

于 2015-12-21T01:31:21.343 に答える