2015-04-03 104 views
2

我正在尝试解析fb源以查找新评论。首先我通过这个URL http://graph.facebook.com/2.0/page_id/posts获得帖子列表。然后我得到每个帖子的http://graph.facebook.com/2.0/page_id/post_id/comments的评论。我发现我可以使用batch_requestshttp://graph.facebook.com/2.0/page_id/posts?fields=comments。但我想问:Facebook Graph API - 获取最新评论

  1. 我可以得到并只解析新的评论吗?不适用于所有现有的帖子。我可以通过最新评论获得回复吗?
  2. 如果否,我应该怎么做在下一个案例 - 评论张贴不包括在fb/posts中,因为这篇文章之前创建了250篇文章?

P.S. FQL不是很好的解决方案,因为它已被弃用。

回答

3
  1. 不,你不能只得到新的评论,你也需要自己进行排序。
  2. 将注释存储在数据库中。你可以通过所有的评论,新的应该是第一个,检查你的数据库中的评论ID。如果评论ID已经在数据库中,请停止收到更多评论。或者,您也可以将最新的评论ID存储在某处而不是所有评论。
+0

我喜欢你的想法,但我在走出API现在评论认为不按时间顺序盯着。实际上,参考文献确实可以让您选择按照时间顺序进行排序,但是您必须先选择最早的评论。 https://developers.facebook.com/docs/graph-api/reference/v2.2/object/comments – 2015-06-09 16:16:01

+0

此查询{post-id}/comments?order =按时间顺序应该按顺序返回它们。而且,乍一看,它确实如此。不过,我现在有结果,在2015-05-01之前对2015-04-07发表评论,而早期的记录2015-06-05在顶端。所以,玩得开心。 – 2015-06-09 16:23:59

+0

afaik评论确实按时间顺序排列。最新的。如果没有,请提交错误。 – luschn 2015-06-09 17:15:28

4

您可以指定订购reverse_chronological以获得最新的评论。它没有记录,但似乎从v2.0开始工作。

即获取所有帖子W /最新第一

[post_id]/comments?filter=stream&order=reverse_chronological