我目前遇到了 Facebook 实时 API 的问题。
我希望订阅用户个人资料上的许多内容,包括他们在音乐、书籍、电视和电影类别中的“喜欢”。
当我通过 FQL 和图表查询时,我得到了正确的信息,但当用户个人资料上的这些条目发生更改时,Facebook 不会 ping 我的通知端点。
订阅和验证都没问题。以下是我的应用程序中来自 Facebook 的活跃订阅:
["object"]=> string(4) "user"
["callback_url"]=> <correct callback URL>/facebook/update/"
["fields"]=>array(11) {
[0]=> string(13) "birthday_date"
[1]=> string(5) "books"
[2]=> string(10) "first_name"
[3]=> string(7) "friends"
[4]=> string(5) "likes"
[5]=> string(6) "movies"
[6]=> string(5) "music"
[7]=> string(4) "name"
[8]=> string(3) "sex"
[9]=> string(2) "tv"
[10]=> string(8) "username"
}
["active"]=> bool(true)
一开始我并没有订阅likes
但添加了这一点,看看它是否解决了问题......它没有。
The 文档 http://developers.facebook.com/docs/reference/api/realtime/ says:
以下是您可以订阅的用户连接列表:提要、朋友、活动、兴趣、音乐、书籍、电影、电视、喜欢、签到
当任何数据发生变化时(包括friends
),这只是music
, books
, movies
and television
.
也许更奇怪的是,当我“喜欢”随机的 Facebook 页面(即使用“喜欢”按钮,而不是将其添加到我的个人资料上的字段中)时,我会在like
场地。当我不喜欢同一页面时,我会收到触发的通知likes
, music
, books
, movies
and television
!
不用说,我很困惑。有人遇到过这个问题或者可以建议一个地方开始修复它吗?
EDIT:经过进一步的测试,我发现通知在某些条件下会发生,但在其他条件下不会发生。例如如果您喜欢某个乐队页面上的某个乐队,将会发送一条通知。如果您从“编辑个人资料”页面编辑您喜欢的音乐,则不会发送通知。所以这听起来像是一个错误。