3

次のようなリンクでデフォルトのアバターを検出する方法:https://graph.facebook.com/'.$id.'/picture?type=large?特別に準備されたプロファイルからアバター(男性/女性)を取得し、たとえばmd5()で比較する唯一の方法ですか?

これが唯一の方法だとは信じがたい。

4

4 に答える 4

20

redirect=false次のパラメーターを使用できます。

https://graph.facebook.com/naitik/picture?redirect=false

次に、facebook の応答は次のjsonデータを含みます。

{
   "data": {
      "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/157337_5526183_369516251_q.jpg",
      "is_silhouette": false
   }
}

このオプションを使用してis_silhouette、写真がデフォルトのものかどうかを検出できます。

詳細については、 https ://developers.facebook.com/docs/reference/api/using-pictures/ をご覧ください。

于 2013-11-09T11:25:31.347 に答える
6

デフォルトの写真を使用しているかどうかを確認するために呼び出すことができる API はありません。画像全体をダウンロードして MD5 をチェックする代わりに、HTTP HEAD リクエストをそのプロファイル URL に発行し、Locationヘッダーを見て、URL が既知のデフォルト プロファイル画像の 1 つであるかどうかを確認できます。

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

女性 (ダース・ベイダー): https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v2/yp/r/yDnr5YfbJCH.gif

ここに画像の説明を入力

これらの URL は変更される可能性があり、デフォルトの写真も変更される可能性がありますが、覚えている限り、どちらのケースも発生していません。

于 2012-05-25T16:52:46.723 に答える
1

すでにグラフ API を呼び出してアバターなどのユーザー データを取得している場合は、グラフ API を最初に呼び出すときにpictureフィールドparamis_silhouetteに含めるだけで、ユーザーが true に設定されている場合、応答にオフセットが含まれます。デフォルトのアバターがあります。

リクエスト:

https://graph.facebook.com/v2.7/me?access_token=[token]&fields=name,picture

応答:

{
    "id": "100103095474350",
    "name": "John Smith",
    "picture": {
        "data": {
            "is_silhouette": true,
            "url": "https://scontent.xx.fbcdn.net/v/...jpg"
        }
    }
}
于 2016-08-04T01:37:25.460 に答える