0

バッチリクエストを介して正常に実行できるすべてのユーザーのFacebookの友達情報を取得しようとしています:

NSString *jsonRequest1 = @"{ \"method\": \"GET\", \"relative_url\": \"me/friends?fields=name,picture\" }";
NSString *jsonRequestsArray = [NSString stringWithFormat:@"[%@]", jsonRequest1];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:jsonRequestsArray forKey:@"batch"];
[facebook requestWithGraphPath:@"me" andParams:params andHttpMethod:@"POST" andDelegate:self];

プロフィール写真のサイズは小さく (50x50)、写真のサイズを指定する必要があります。私はグラフ API ドキュメントを見てきましたが、2 つを結び付けるのに苦労しています。関連リンクは次のとおりです: http://developers.facebook.com/docs/reference/api/user/

次のパラメーターをリクエストに追加するように指示されていますが、私が言ったように、2つを結び付ける方法がわかりません:

picture?type=large

特定のユーザーに対する単一のリクエストでうまくいくと確信していますが、バッチリクエストではうまくいきません。

助けてくれてありがとう、それはおそらく私の顔を見つめています!

4

4 に答える 4

2

Facebookが述べたように、FQLにはいくつかの利点があります

FQL (Facebook クエリ言語) を使用すると、SQL スタイルのインターフェイスを使用して、Graph API によって公開されたデータをクエリできます。複数のクエリを 1 回の呼び出しにバッチ処理するなど、Graph API では利用できない高度な機能を提供します。

Facebook のこのチュートリアルをご覧ください。

https://developers.facebook.com/docs/howtos/run-fql-queries-ios-sdk/

しかし、グラフ API をフィールド拡張と共に使用することをお勧めします。これは非常に役立ち、FQL よりも理解しやすいです。Graph API はすべてのサブフィールドをサポートしていないことに注意してください。

https://developers.facebook.com/docs/reference/api/field_expansion/

がんばれ!

于 2012-11-21T03:20:24.397 に答える
1

Graph API を使用してこれを行う簡単な方法はないと思います。この FQL クエリを使用すると簡単です (バッチ リクエストを介して渡すことができます)。

SELECT uid, name, pic_big FROM user WHERE uid IN 
  (SELECT uid2 FROM friend WHERE uid1 = me())

特定のサイズの画像をお探しの場合は、新しいprofile_picテーブルをご覧ください。

于 2012-08-27T17:44:10.097 に答える
1

これは、高さと幅のパラメーターを URL に追加することで可能になります。FB は、幅と高さの基準に一致する画像を提供しようとします。バッチは次のようになります。

var batch= {
  batch: []
};

batch.batch.push({
  method: 'GET',
  relative_url: fbid + '/picture?height=400&width=400'
});

FB.api('/', 'POST', batch, function (response) {
});
于 2013-01-24T18:46:20.917 に答える
0

そのようなものは私のために働きます:

{
"friends": "SELECT uid, name, pic_big FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())",
"profiles": "SELECT id, url, real_width, real_height FROM profile_pic WHERE id IN (SELECT uid FROM #friends) AND width = 300"
}

完璧ではありませんが(スキャンするクエリが2つ)、1つのリクエストです。

profile_picテーブルのドキュメントに基づいています。

FQLエクスプローラーでテストできます。

于 2012-12-03T15:01:35.660 に答える