次のようなリンクでデフォルトのアバターを検出する方法:https://graph.facebook.com/'.$id.'/picture?type=large
?特別に準備されたプロファイルからアバター(男性/女性)を取得し、たとえばmd5()で比較する唯一の方法ですか?
これが唯一の方法だとは信じがたい。
次のようなリンクでデフォルトのアバターを検出する方法:https://graph.facebook.com/'.$id.'/picture?type=large
?特別に準備されたプロファイルからアバター(男性/女性)を取得し、たとえばmd5()で比較する唯一の方法ですか?
これが唯一の方法だとは信じがたい。
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/ をご覧ください。
デフォルトの写真を使用しているかどうかを確認するために呼び出すことができる 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/yp/r/yDnr5YfbJCH.gif
これらの URL は変更される可能性があり、デフォルトの写真も変更される可能性がありますが、覚えている限り、どちらのケースも発生していません。
すでにグラフ 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"
}
}
}