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这样的服务时,我可以使用 POST 请求调用指定的 callback_url url。所以我的服务器正在监听并且不涉及防火墙问题。

知道为什么它不起作用吗?我错过了什么吗?

我能做些什么来调试这个问题?

更新 :

我终于能够收到实时更新,但仅限于“朋友”的变化!添加或删除乐队仍然不会触发 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 回答