1

次の方法でユーザーの Facebook 画像を取得しています。

https://graph.facebook.com/#{omniauth.uid}/picture?type=large

しかし、それがFacebookのデフォルト画像かどうかを確認するにはどうすればよいですか? もしそうなら、私は自分のイメージを使いたいと思っています。

Ruby on Rails と Omniauth を使用しています。もし Omniauth がこの状況に役立つ何かを提供してくれたら、私に知らせてください。

アップデート

上記のリンクを使用して自分のページに移動すると、ユーザー ID がプロファイル画像を設定していない場合、このファイルにリダイレクトされます。

https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v2/yL/r/HsTZSDw4avx.gif

友人にもチェックしてもらいましたが、彼も同じページを取得しました。

そのため、そのファイル名を「一時的に」チェックすることはできますが、明らかにそれは恐ろしい習慣です。Facebook がデフォルトの画像を変更すると、すべてが失敗します。ユーザーが画像セットを持っているかどうかを教えてくれるフラグはありますか?

4

1 に答える 1

4

is_silhouetteブール値を使用します。ドキュメントから:

HTTPリクエストにredirect=falseを追加して、実際のデータの代わりに場所を取得できます。この呼び出し:

<img src="https://graph.facebook.com/shaverm/picture?redirect=false"/>

画像の場所を説明するJSONエンコードされたデータを返します。urlは画像の場所であり、is_silhouetteブール値はオブジェクトが画像を設定したかどうかを示します。

{
    "data": {
        "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372183_100002526091955_998385602_q.jpg",
        "is_silhouette": false
    }
}
于 2013-01-19T05:18:07.853 に答える