我目前遇到了Facebook的实时API问题。
我希望订阅用户个人资料中的一些内容,包括他们在音乐,图书,电视和电影类别中的“喜欢”。
当我通过FQL和Graph查询时,我得到了正确的信息,但是当这些条目在用户个人资料上发生变化时,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
但是添加了以确定它是否解决了问题......它没有。
以下是您可以订阅的用户连接列表:供稿,朋友,活动,兴趣,音乐,书籍,电影,电视,喜欢,签到
当任何数据发生变化时(包括friends
),我会收到通知,只有music
,books
,movies
和television
。
或许更奇怪的是,当我“喜欢”一个随机的Facebook页面(即使用类似按钮,而不是将其添加到我的个人资料中的字段)时,我会在like
字段上触发通知。当我与同一页面不同时,我会在likes
,music
,books
,movies
和television
上触发通知!
毋庸置疑,我很困惑。有没有人遇到这个或者可以建议一个地方开始寻找修复它?
编辑:经过一些进一步的测试后,我发现通知是在某些条件下发生的,而不是其他条件。例如如果您喜欢该乐队页面的乐队,则会发送通知。如果您从“编辑个人资料”页面编辑音乐,则不会发送通知。所以这听起来像个错误。
答案 0 :(得分:1)
不完全是答案,但仍然......
几个月前,我被赋予了修复Facebook应用程序的任务。 它使用facebook提供的信息来构建统计数据。但是政策发生了变化,facebook停止提供这些信息。
我使用graph和fql来获取该信息。 Grahp api很愉快,因为你不必注册+答案是json格式。 主要的问题是Graph api太慢了......
让我给你一个帮助我的提示:fql是非常相似的sql,也许你应该尝试一些原生于sql的函数或其他方法。
谁知道!