開発者ページの Graph API Explorer を介して fql にニュースフィードのリクエストを送信しようとしていますが、得た応答が Facebook ページのニュース フィードや Facebook の iOS アプリのニュース フィードと完全に一致しないことに驚いています。XML のまったく異なるリストで応答する URL を介してリクエストを投稿すると、さらに混乱します。Facebook ページのニュース フィードには表示されない余分なものが表示されます。
Graph API Explorer から fql で送信したクエリ
SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0
そして、私が送信するURLを介して
https://api.facebook.com/method/fql.query?query=SELECT%20post_id%2C%20actor_id%2C%20target_id%2C%20message%20FROM%20stream%20WHERE%20filter_key%20in%20(SELECT%20filter_key%20FROM%20stream_filter%20WHERE%20uid%3Dme()%20AND%20type%3D'newsfeed')%20AND%20is_hidden%20%3D%200&access_token=<access token>
私は1週間答えを探していますが、何も役に立たなかったので、他のアカウントからこれを試してみましたが、同じ問題が発生しました。
iOSリクエスト用のFacebookアプリも確認しようとしたところ、次のようなリンクが表示されました
https://graph.facebook.com/graphql/
POST パラメータで
sdk_version=3
format=json
app_version=40121
q=node(1033280756){home_stories.environment(iphone).first(5){edges{deduplication_key,...<in very long query>
locale=en_US
method=get
sdk=ios
access_token=<access token>
しかし、GAEからのアクセストークンを使用してGraph API Explorerでテストすると、メッセージが表示されます
{ "error": { "message": "(#803) リクエストしたエイリアスの一部が存在しません: graphql", "type": "OAuthException", "code": 803 } }
これは機能し、ios Facebookアプリからアクセストークンを与えたとき、およびhttps://www.facebook.com/login.php?api_key=6628568379
同じエラーを受け取ってアクセストークンを取得しようとすると、応答がFacebookページからのニュースフィードと完全に一致します。
これはテーブルのバグなのか、それとも Facebook のようにニュース フィードを取得する方法ではないのか、理解できません。Facebookから正式な回答を得た人はいますか?