Facebook图形api“限制”参数的限制

时间:2013-02-14 13:38:45

标签: facebook facebook-graph-api

我正在使用Facebook的Graph API从公共页面获取大量评论 默认情况下,facebook每个响应返回25条评论,并使用分页。这导致需要多个请求,这是不可思议的,因为我知道将会有很多评论。

我读到了您可以传递的“限制”参数,以便为每个响应请求一定数量的项目。

我想知道,该参数的限制是多少?我假设我不能通过& limit = 10000。

5 个答案:

答案 0 :(得分:11)

获取评论有不同的方式:

https://graph.facebook.com/<PAGE_ID>_<POST_ID>/comments?limit=500

limit参数的最大值为500。

答案 1 :(得分:8)

是的,使用limit参数,您可以在一次调用中传递所需数量的特定资源。默认限制是25.

代表。如果您想在一次调用中为ID为POST_ID的帖子发送100条评论,则可以这样查询:

https://graph.facebook.com/POST_ID?fields=comments.limit(100) 

答案 2 :(得分:1)

我认为他们改变了这一点。对于/饲料?我只收到了200-225个帖子,但是为了评论,我得到了多达2000个帖子

答案 3 :(得分:0)

老问题,但这是在当前的 Facebook 文档中,以防有人通过搜索找到这个问题(重点是我的):

<块引用>

出于性能原因,某些边缘也可能在极限值上具有最大值。 在所有情况下,API 都会返回正确的分页链接。

换句话说,即使您指定了超出端点允许的限制,“pagination.previous”和“pagination.next”元素将始终提供正确的 URL 以从中断处继续。

答案 4 :(得分:-1)

我建议你改用FQL。

FQL提供了一种更灵活的方法,您可以根据需要组合数据类型(帖子,用户,页面等)。您还可以查询属于故事列表的评论,而不仅仅是限制请求数量的评论。

但有一些缺点:
1。 5000条评论有限制。在这里,您将使用查询类似于:“SELECT id,...... FROM comments,... WHERE parent_id in(1,2,3 ....)ORDER BY time LIMIT 0,5000”。即使您在“LIMIT 0,1000”,“LIMIT 1000,1000”,LIMIT 2000,1000等几个查询中将其拆分,您将永远不会获得超过5000条评论(“LIMIT 5000,1000”将返回空)。
2。在Facebook服务器上发出的所有真实请求都算作一个请求。您可以发送实际上是请求组合的内容,这将被视为多个请求。
3。 Facebook不喜欢沉重的请求。您最终可能会被阻止更短的时间段(分钟 - >小时,而不是几天)。如果发生这种情况,请采取行动。