2010-12-14 15 views
4

私はFacebook Graph APIを使用してユーザー投稿を表示しています。投稿の最初の「ページ」を取得すると、結果のデータオブジェクトはpreviousnext URLプロパティを持つpagingプロパティオブジェクトを持ちます。私はこの利用可能なページング情報に基づいてナビゲーションリンクを生成することを望んでいました。しかし、時にはこれらのURLが空のデータセットを指しているので、私は明らかにユーザーを空のページに移動したくありません。Facebook Graph API:投稿数の合計を取得する

コレクション内のオブジェクトの総数を調べて、より良いナビゲーションを導き出す方法はありますか?よりスマートなページングデータを得る方法はありますか?

更新: 申し訳ありませんが、私の投稿が明確でない場合。例として、https://graph.facebook.com/7901103/postsとそのページングプロパティのURLのデータを見てください。次に、それらのURLに沿って問題を確認します。データの空のページ。

答えて

1

日時ベースのデータをページします。実際にリクエストを送信する前に、データがあるかどうかを知ることはできません。しかし、前のURLからデータをプリロードして、あなたのウェブページに以前のリンクを表示するのが適切かどうかを判断することができます。

+0

これは私の現在の回避策ですが、Facebookのリソースが浪費しているようです。私はそこにいくつの投稿があるのか​​について少し古くなった情報を持っていても問題ありません。誰かが代替品を持っているかどうかを私はもうしばらく待つだろう。 – Jacob

0

私はあなたの質問にコメントとしてこれを投稿しようとするつもりだったが、私はそうに見えることはできません...

私はグラフAPIは、JSONを返すことを知っている、と私は決してきませんしながら、応答の処理に使用している技術に応じて、投稿を含むJSON配列のサイズを取得できる可能性があります。

たとえば、Javaアプリケーションを使用していた場合は、json.org(またはGoogle GSON、またはJSONドライバのXStream)で使用できるライブラリを使用してオブジェクトを設定し、JSONArray.length()返された投稿の数を確認するメソッド。

は、以下を参照してください。それは単純なソリューションのビットのように見えるかもしれませんが、あなたは、Facebookがそのデータを返すようにする方法を見つけることができない場合は、あなたが必要と周りの仕事のタイプであるかもしれない http://www.json.org/javadoc/org/json/JSONArray.html

アプリケーションの基盤となるテクノロジを指定できますか?

+0

申し訳ありませんが、あなたは私の質問を誤解していると思います。私は*現在のページ*のために返されたコレクションの長さを知っていますが、次/前のページにデータがあるかどうかわかりません。 – Jacob

+0

ああ、私の謝罪、これは全く別の問題です。今私は興味がある、私は質問をします。 FB開発者フォーラムにも投稿していると仮定していますか? – Kai

+0

はい、私もここに投稿:http://forum.developers.facebook.net/viewtopic.php?id=83845。 – Jacob

1

なぜFacebookに依存するのですか?
なぜユーザーのすべてのデータをプリロードしてデータベースに保存しないのですか。その後、dbから投稿を取得してユーザーに表示します。このようにして、いくつの投稿があるのか​​、次のページと前のページを管理する方法をすべて制御できます。

+0

ユーザーは、アプリケーションですべての投稿がプリロードされた後、頻繁に新しい投稿を追加します。 –

+1

まあ、毎回新しいデータをすべて保存する必要はありません。おそらく、ユーザーがページを更新/再読み込みするときに、新しい投稿が 'https://graph.facebook.com/7901103/posts?since = 2010-12-14'で済んだかどうかをチェックし、DBにも保存します。FBの自分のキャッシュのようなもの。 – jamietelin

+0

@ jamietelin、あなたはおそらく正しかったが、私はこれを試してみると、それぞれの日付から投稿を取得していない。 APIに変更はありますか? –

関連する問題