1

現在、Facebook API からのリアルタイム更新を使用しようとしています。

私はそれらを正常にサブスクライブし、サブスクリプションの確認を受け取りました。GETリクエストを行うと

https://graph.facebook.com/[APP_ID]/subscriptions?access_token=[ACCESS_TOKEN]

私は受け取ります :

{"data":[{"object":"user","callback_url":"http:\/\/example.com:8454\/social\/facebook\/realtime\/facebookrequest","fields":["books","friends","music"],"active":true}]} 

次に、「Facebook に接続」フォームがあるアプリケーションのページに移動します。このフォームには隠しフィールドが含まれています:

<input id="scope" name="scope" type="hidden" value="publish_stream,user_photos,email,user_likes,friends_likes"/>

フォームを送信すると、Facebook に転送され、指定された権限をアプリケーションに付与する必要があります。確認後、アプリケーションはFacebookから私のメールにアクセスして表示できるので、登録は成功です!

同じユーザーを使用して、Facebook に戻り、「音楽」セクションにバンドを追加します。

待って、待って、待って、でもアプリケーションは Facebook からの POST リクエストを受け取りません。

http://web-sniffer.netのようなサービスを使用すると、指定された callback_url URL を POST リクエストで呼び出すことができます。したがって、サーバーはリッスンしており、ファイアウォールの問題はありません。

なぜそれが機能しないのですか?何か不足していますか?

この問題をデバッグするにはどうすればよいですか?

アップデート :

やっとリアルタイムの更新を受信できるようになりましたが、「友達」の変更のみです! バンドを追加または削除しても、Facebook からのリアルタイムの更新はトリガーされません... 変です。

4

1 に答える 1

1

「音楽」欄の登録がなぜか間違っていました。ヘルプページにリストされているすべてのものに登録しようとしました:

feed, friends, activities, interests, music, books, movies, television, likes, checkins, location, events

その後、Facebook のプロフィールに新しいバンドを追加したところ、リアルタイムの更新を受け取りました! 更新は「フィード」の changed_fields としてリストされました。したがって、「フィード」フィールドの変更に登録するのが道のりのようです...

于 2012-06-25T20:52:03.397 に答える