我目前在使用Facebook的实时API时遇到了问题。
我希望订阅用户资料中各种类别下的“喜欢”,包括音乐、书籍、电视和电影。
当我通过FQL和Graph查询时,我可以获得正确的信息,但是当这些条目在用户资料中发生更改时,Facebook并没有向我的通知端点发送通知。
订阅和验证都没问题。以下是来自我的应用的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
,但是添加它以查看是否可以解决问题...然而并没有。
文档中写到:
以下是您可以订阅的用户连接列表:feed、friends、activities、interests、music、books、movies、television、likes、checkins
当这些数据中的任何一个发生更改(包括 friends
)时,我都会收到通知,只不过没有通知 music
、books
、movies
和 television
。
更奇怪的是,当我“喜欢”一个随机的 Facebook 页面(即使用喜欢按钮,而非将其添加到我的个人资料字段中),我会在 like
字段上触发通知。当我取消对同一页面的喜欢时,我会在 likes
、music
、books
、movies
和 television
上触发通知!
不用说,我很困惑。有人遇到过这种情况或者能建议一个开始寻找解决方法的地方吗?
编辑:经过进一步的测试,我发现通知在某些条件下会发生,而在其他情况下则不会。例如,如果您喜欢一个乐队的页面,将会发送通知。如果您从“编辑个人资料”页面更改音乐喜好,则不会发送通知。因此,这听起来像是一个错误。