1

多数のオブジェクトを含むもの (アルバムに 10000 人の友人や 10000 枚の写真がある場合など) をリクエストした場合、C# Facebook SDK は自動的に "Paging:Next" リンクをたどりますか、それとも何かありますか?私はする必要がありますか?

彼らのコードを調べたところ、ページングについての言及は見当たりませんでしたが、見落としていた可能性があります。

バッチ リクエストについて話しているのではないことに注意してください。私が話しているのは単純な api.Get("/me/friends") で、Facebook はオブジェクトが多すぎて 1 つの応答に入れることができないと判断します。残念ながら、結果をテストするのに十分なアカウントがありません...

4

3 に答える 3

1

これが私が使用したコードです。アルバムの「カウント」から予想される画像の数を知っているので、その数までバッチでリクエストするだけです。返されるオブジェクトの数が事前にわからないシナリオでは扱いにくいですが、まだその必要はありません。

const long maxBatchSize = 50;
for (long q = 0; q < album.Count; q += maxBatchSize)
{
    var facebook = new FacebookClient(FacebookSession.AccessToken);
    facebook.GetCompleted += new EventHandler<FacebookApiEventArgs>(GetPhotosCallback);

    long take = album.Count - q;
    if (take > maxBatchSize)
        take = maxBatchSize;

    dynamic parameters = new ExpandoObject();
    parameters.limit = take;
    parameters.offset = q;

    facebook.GetAsync("/" + album.Id + "/photos", parameters, null);
}
于 2012-06-05T21:24:48.880 に答える
1

ページネーションは、Facebook 用の SDK に関係なく、常に SDK のユーザー次第です。彼らがそれを追加することでそれほど創造的になったとは思わないか、そうでないいくつかの法的な理由があるのか​​もしれません.

于 2012-06-05T17:33:35.447 に答える