2011-01-12 2 views
5

は、このための任意のドキュメントを見つけることができませんん...どのようにC#のFacebook SDK上のページング作業

は、現在、私の写真の一覧を取得するには、次のコードを使用して:

FacebookApp fb = new FacebookApp(accessToken); 
dynamic test = fb.Get("me/photos"); 

私はを巡回していますそれが返す最初の25の写真。シンプル。

今すぐ次の25を返すにはどうすればよいですか?

FacebookApp fb = new FacebookApp(accessToken); 
string query = "me/photos"; 

while (true) 
{ 
    dynamic test = fb.Get(query); 

    foreach (dynamic each in test.data) 
    { 
     // do something here 
    } 

    query = test.paging.next; 
} 

が、それは投げ失敗:

Could not parse '2010-08-30T17%3A58%3A56%2B0000' into a date or time. 

は私がリクエストごとに新鮮dynamic変数を使用する必要があり、または私はこれについてつもりですか

は、これまでのところ私はこれを試してみました完全に間違った方法ですか?この発見終わった

+0

この質問には、より良い情報があります。https://stackoverflow.com/questions/41418671/how-is-facebook-graph-api-pagination-works-and-how-to-terterate-facebook-user-feed –

答えて

10

// first set (1-25) 
var parameters = new ExpandoObject(); 
parameters.limit = 25; 
parameters.offset = 0; 

app.Api("me/friends", parameters); 

// next set (26-50) 
var parameters = new ExpandoObject(); 
parameters.limit = 25; 
parameters.offset = 25; 

app.Api("me/friends", parameters); 
+0

"dynamic parameters ="を使用する必要があります – danpop

+0

カーソルベースのページネーションでフィードを再生する方法はありますか? FacebookのC#SDKで? –

+0

https://stackoverflow.com/questions/41418671/how-is-facebook-graph-api-pagination-works-and-how-to-terate-facebook-user-feed –

5

を私はまた、あなたがこれを使用することができました。

// for the first 25 albums (in this case) 1-25 
dynamic albums = client.Get("me/albums", new { limit = "25", offset = "0"}); 

// for the next 25 albums, 26-50 
dynamic albums = client.Get("me/albums", new { limit = "25", offset = "25"}); 

上記と同じように動作します。

+1

私は可能な限り、私の大学をそんなに恐れているので、私はダイナミックなものを好む。 – Tim

+0

これは、新しいアルバムが追加された場合、重複する可能性があります。ページングシステムの全体的なポイントは、これを阻止することです。 –

+0

Freakの答えをhttps://stackoverflow.com/questions/41418671/how-is-facebook-graph-api-pagination-works-and-how-to-terate-facebook-user-feedで参照してください。 –

関連する問題