由于Facebook Graph API中没有通知,我使用FQL检索它们,详见https://developers.facebook.com/docs/reference/fql/notification/。
我想要做的是使用返回的信息来获取“源对象”。因此,如果通知是“Bob评论您的状态”,我想找到该状态对象 - 如果Bob评论我的笔记,或者发布到我的活动的墙上等等。
notification_id
,sender_id
和recipient_id
似乎没有足够的信息来实现这一目标。 href
字段非常接近 - 它将返回一个用户可以点击以链接到相应页面的链接,但这对我来说看起来没什么帮助,因为URL格式在“源对象“类型。我找不到一种可靠的方法将href
转换为我可以传递给Graph API的参数。
所以,如果我想做的事情是可能的,那么最好的方法是什么?
我的想法:
有没有办法将“用户友好”href
提供给API并让它返回相应的图谱API结果(或让它返回相应的图谱API网址)?
是否有其他方式可以使用或组合FQL'通知'查询返回的信息来制作正确的图谱API网址?
是否有另一种检索通知的方法可以提供我想要的内容?
我正在使用PHP和Facebook的PHP SDK,虽然这看起来不像PHP特定的问题。
提前致谢!
答案 0 :(得分:3)
您可以从notification
表中获取object_id
,object_type
并使用该表来获取原始帖子。抱歉,“通知”表中未记录此信息,但现在已记录在案。
例如为:
select object_id, object_type from notification where recipient_id=<user_uid>
返回类似的内容:
[
{
"object_id": "<object_id_1>",
"object_type": "group"
},
{
"object_id": "<object_id_2",
"object_type": "stream"
},
]
然后您可以使用object_id来获取帖子:
https://graph.facebook.com/<object_id_1>?access_token=<access_token>