7

FacebookのGraphAPIドキュメント(ここ)によると、次のようなURLを介してさまざまなサイズのユーザーのプロフィール写真にアクセスできます。

https://graph.facebook.com/(userid)/picture?type=small
https://graph.facebook.com/(userid)/picture?type=large

最初のURLは_t.jpg(小さなサムネイル)で終わるURLに解決され、2番目のURLは_n.jpg(大きな画像)で終わることに気付くでしょう。ここまでは順調ですね。同様に、次のようにこれらの画像をクエリできるはずです。

https://graph.facebook.com/(userid)?fields=picture&type=small
https://graph.facebook.com/(userid)?fields=picture&type=large

この後者の形式は、「type」パラメータを完全に無視し始めたほんの数日前まで、何ヶ月も期待どおりに機能しました。すべてが_q.jpgで終わる画像に解決されます。これは、「type」がない場合のデフォルトです。指定。その結果、PHPで大きな画像をクエリする方法がわかりません(私の本当の問題)。以前は次のように機能していました。

$pic = $facebook->api('/me', array('fields' => 'picture', 'type' => 'large'));

...しかし、上記のように、「タイプ」は自発的に無視され始めました。私は彼らのドキュメントを精査するのに数時間を費やしましたが、何が変更されたか、またはこれが行われるべき「新しい」方法への参照を見つけることができませんでした-どんなポインタも大いに感謝されます...

編集:

次のいずれも機能しません(何も返しません)。

$pic = $facebook->api('/me/picture', array('type' => 'large'));
$pic = $facebook->api('/(my_uid)/picture', array('type' => 'large'));
$pic = $facebook->api('/me/picture/?type=large');
$pic = $facebook->api('/(my_uid)/picture/?type=large');

基本的に、Facebookは数日前に問題を解決したため、PHPからデフォルト以外の画像サイズを取得する方法はないようです。Graph API Explorer(ここ)から自分でいくつかの呼び出しを試すことができます。

その他の関連/関連リンク:

http://stackoverflow.com/questions/2978761/facebook-graph-api-will-not-give-me-picture-data
http://stackoverflow.com/questions/7718704/requesting-picture-for-event
4

3 に答える 3

19

field_expansion構文を使用してAPIをリクエストする必要があります

これらのAPIリクエストは機能します:

$results = $facebook->api('/me', array('fields' => 'picture.height(300).width(300)'));

$results = $facebook->api('/me', array('fields' => 'picture.type(large)'));

于 2012-11-12T14:38:51.960 に答える
4

Facebookのこのバグで説明されているように、新しいAPIの「フィールド拡張」構文を介してこれをリクエストできます。

これは私のために働きます:

https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large)
于 2012-10-04T18:47:58.727 に答える
3

回避策を見つけました-さまざまなサイズのプロフィール写真にFQLクエリを介してアクセスできます:

$pic = $facebook->api(array('method'=>'fql.query', 'query'=>"SELECT pic_big FROM user WHERE uid=$fb_uid"));

("pic_big"は"type = large"と同等です-ここを参照してください)。

これは、GRAPH呼び出しが突然壊れた理由、または画像サイズがGraphを介してまったくアクセスできないように見える理由(私はまだ知りたいです)をまだ説明していません...しかし、少なくともいくつかの方法があります他のサイズの写真を入手してください。

Facebookとその一流の信頼性が大好きです...

于 2012-08-16T18:37:42.577 に答える