Facebook Api获取提要和评论

时间:2012-10-12 13:27:39

标签: facebook facebook-graph-api facebook-fql

我正在尝试在公共墙上获取Feed以及相关评论。 所以每隔X分钟我就会进行一次查询,以获得新的内容(供稿和评论)。

我需要提要(自myDate以来的新提要)和评论(在旧提要上发布的新提要和评论上发布的评论)。 因此,如果有人在较旧的Feed上发表了评论,我希望得到它。 我尝试使用FQL和Graph API来做到这一点,但我无法找到最佳解决方案。

使用FQL,LIMIT和OFFSET存在一些问题(错误)并且效果不佳。 使用Graph API,我没有那么多的力量。 所以这就是我试过的:

https://graph.facebook.com/PAGE_ID/feed?access_token=MY_ACCES_TOKEN0&limit=500&since=1350033469&until=now&updated_time>1350033469

这给了我最新的帖子,所以没问题,因为对于每一个我都在做一个新的查询以获得每个提要的评论:

https://graph.facebook.com/PAGE_ID/comment?access_token=MY_ACCES_TOKEN0&limit=500&since=1350033469&until=now&updated_time>1350033469

问题是,如果评论发布在较旧的帖子上,我就不会收到。

使用FQL我不能只过滤最新的帖子(基于我的日期)和带有新评论的帖子。

https://api.facebook.com/method/fql.query?query=SELECT post_id, text, fromid FROM comment WHERE post_id IN (SELECT post_id FROM stream where source_id=PAGE_ID and comments.created_date>1350033469)&access_token=MY_ACCES_TOKEN

使用Graph API我有一个很好的分页(使用响应中的下一个和上一个链接)但是使用FQL我找不到任何解决方案。

所以任何人都有一些想法? 感谢。

C.C。

1 个答案:

答案 0 :(得分:4)

首先,FQL已弃用,因此您只需使用图谱API

我附带的解决方案是,当您已有帖子时,您需要使用其唯一ID重新检查帖子,该请求会给您两次created_timeupdated_time,因此,您需要检查updated_time是否已更改。

图谱API中给出的分页仅适用于帖子,因此当帖子有新评论时,它们不会在列表中排在第一位,您需要自己找到它们。

- 更新 -

使用batch_requests来实现此目标,这样您就可以一次发出更多请求。