2

FacebookグラフAPIに関するすべての投稿を検索しましたが、何も見つかりませんでした。これが問題です。

私はある会社のiPhoneアプリに取り組んでいます。そして、このアプリのニュースセクションでは、FacebookグラフAPIを使用して、この会社のFacebookページの壁からすべての投稿とコメントを取得しています。私がこれを行う方法は次のとおりです。最初にリクエストを送信してすべての投稿をプルします。

[facebook requestWithGraphPath:@"company name/feed" andDelegate:self];

そして、コメントの数を含む、すべての投稿とそれに関する情報を含むNSDictionaryを受け取ります。すべての投稿をtableViewに配置し、投稿の1つをタップすると、コメントのviewControllerが開きます。この投稿へのコメントをリクエストする場所:

NSString *postId = [self.post objectForKey:@"id"];
NSString *request = [NSString stringWithFormat:@"%@/comments" ,postId];
[facebook requestWithGraphPath:request andDelegate:self];

一連のコメントを受け取っています。しかし、それらのいくつかは欠落しています。私はそれが人々が彼らのアカウントに持っているいくつかのプライバシー設定のためだと思います。
誰かが同じ問題を抱えていて、これを回避する方法を知っているのではないかと思っています。または、ユーザーが自分のコメントを表示できるようにするために、自分のFacebookアカウントでどのプライバシー設定を変更する必要があるかを知ってください。

ありがとう。

4

3 に答える 3

2

この作品を追加したかっただけです。すべての基本的なウォール投稿情報のフィードを取得してから、各投稿のコメントを個別に取得します。より複雑な更新メソッドと少し注意が必要です(可能な場合はJSONコメントカウント数よりもコメント配列を信頼してください)が、少なくともそれは正しく行われます。

フィードを取得しpost_idを取得し、次に各投稿を個別に取得して正しい情報を取得していました。しかし、ちょうど2日前に、iOSでの同じFacebook投稿リクエストが3つのコメントのうち2つを返し、Chromeブラウザが1つのコメント(最新のもの)を返し、Firefoxでのリクエストが残りの2つを返すという本当に面白いことが起こっていましたコメントですが、最新のものではありません。ブラウザを使用して応答をテストするときに、ログインしているかどうかは関係ありませんでした。これは、コメント付きの投稿の約半分で発生しました。

そこで、Facebook DevelopersサイトのURLでアクセストークンを使用して、リクエストをこの特定の投稿に変更してみました-すべての正しい情報がすぐに返されました!新しいアプリIDを取得するために新しいFacebookアプリを作成し、すべての可能性を排除するためにXCodeで新しいプロジェクトを作成するまでになりましたが、違いはありませんでした。

したがって、このスレッドのおかげで、{post_id} / comments GETを試しましたが、正しく機能します。私は同じことを好きな人たちのためにやったのですが、それをさらに破壊する可能性を排除することもできます!

于 2011-02-17T09:30:52.357 に答える
1

Graph APIは不思議な方法で機能し、実際に開いているバグは無数にありますが、簡単にするために、Facebookからすべてのコメントを取得するには有効なaccess_tokenを渡す必要があります。

意味https://graph.facebook.com/page_id/feed?access_token=blah

APIは、ページネーションを使用するためのリンクを含むJSONを返します。それらを使用して、大量のデータを直接参照または取得できます。

https://graph.facebook.com/page_id/feed?access_token=blah&limit=1000

1000を超える制限を使用すると、バグが発生し、無効なデータが発生する可能性があることに注意してください...これは既知のバグです。ページネーションロジックには、2011年の時点で修正されているかどうかわからないバグもあります...確認する必要があります。

コメント数と実際の数もバグがあり、大きなページで作業している場合はオフになる可能性があります(投稿ごとに5,000を超えるコメントがあるページで発生することがわかります)。カウント自体を取得することにもいくつかの問題があります...

それ以上のことはできませんが、グラフAPIはまだ少し混乱していて、かなり多くのバグを数えています。ドキュメントで説明されているように機能するかどうかを確認する必要があります。ただし、アクセストークンを確実に追加すると、問題が発生することはなく、バグが発生しない限り、必要なデータを取得できる可能性が高くなります。

于 2011-01-11T13:56:42.777 に答える
0

さらに、コメントの数は/feedと/post_id/commentsで異なる場合があります

例えば ​​:

graph.facebook.com/146154582080623/feedは、カウント3のコメントを1つ返します。

graph.facebook.com/146154582080623_184735008222580/comments(前のページの投稿です)は2つのコメントを返します

ですから、プライバシーが問題なのかどうか疑問に思います。

于 2011-01-11T09:13:22.667 に答える