检索Facebook页面帖子评论总数(2013年7月重大变化)

时间:2013-07-02 15:14:58

标签: facebook-graph-api facebook-page facebook-comments posts

目前我正在使用以下API调用来检索Facebook页面的Post Likes和Post Comments(PageId)。在下面我只进行一次API调用并检索所有帖子及其评论总数。

1)。 https://graph.facebook.com/PageId/posts?access_token=xyz&method=GET&format=json

但是,根据“2013年7月的重大变化”: - 现在,上述API调用无法提供评论计数。所以,根据Road Map文档,我使用以下API调用来检索该特定POST ID的注释计数('total_count')。

2)。 https://graph.facebook.com/post_ID/?summary=true&access_token=xyz&method=GET&format=json

因此,通过第二次API调用 - 我可以检索每个Post Wise的评论数。但是,在这里你可以看到我需要遍历每个帖子&需要每个帖子ID逐个检索其评论数。然后需要总结所有,以找出总评论数。因此需要过多的API调用。

我的问题是: - 是否可以检索Page - >帖子 - >通过考虑7月10日的重大变化,单个API调用中的所有注释总计数?

我的第二个API调用有替代方法可以检索每个Facebook页面帖子的所有评论总数吗?

1 个答案:

答案 0 :(得分:0)

嗯,好吧,我不相信有一种方法可以在一次api通话中捆绑这一切。但是,您可以批量请求在看似相同的api呼叫中获取此信息(将节省时间),但它们将分别计入您的速率限制。 (我的下面的例子是4次违反限制的电话)

示例批量调用(json编码) - 我将帖子ID存储在php变量$ postId中:

[{"method":"GET","relative_url":"' . $postId . '"}, 
{"method":"GET","relative_url":"' . $postId . '/likes?limit=1000&summary=true"}, 
{"method":"GET","relative_url":"' . $postId . /comments?filter=stream&limit=1000&summary=true"}, 
{"method":"GET","relative_url":"' . $postId . '/insights"}]

我在这一次通话中批量处理4个查询。首先获得发布信息,第二个获得喜欢(最多1000个,加上总数),第三个获得所有评论,加上摘要计数,以及最终,见解(如果它是页面自己的帖子)。

如果您不想要我提取的所有详细信息,您可以大幅简化此批量调用。

在这种情况下,你仍然需要迭代所有。但是,Facebook允许您在每次批量请求中捆绑多达50个电话我相信,因此您可以在同一批次呼叫中请求多个帖子ID以加快速度。