Facebook请求:什么算作1个请求?

时间:2015-02-20 20:21:42

标签: facebook facebook-graph-api

我目前正在创建一个轮询facebook以获取数据的应用程序。首先以这种方式请求页面......

pageID/posts?fields=id,message,created_time,type&limit=250

这将返回页面中的前250个帖子。然后我检查是否有下一页设置,以及是否再次请求下一个250帖子。我递归地继续这个,直到没有更多的帖子。

对于返回的每个帖子,我都会从图表api中获取帖子详细信息。

我的问题是,如果我在一个页面上有500个帖子。这相当于502个请求吗? (每个帖子500个请求+ 2个用于解析页面数据以获取帖子)或者我对“请求”的理解不正确。我知道批处理调用时批处理中包含的每个查询实际上都算作1个请求。目标是避免600次呼叫/ 600秒速率限制。谢谢!

1 个答案:

答案 0 :(得分:1)

每次API调用都是......好吧,1个请求。因此,每次使用/ posts端点时都有任何限制,它将是1个请求。例如,如果您执行了发布的调用,则会返回250个元素的请求。

批处理请求速度更快,但批处理中的每个调用都计为一个请求。因此,如果您批量合并10个电话,则会有10个请求。批量调用的好处实际上只是它们更快:与批处理中最慢的调用一样快。

如果您希望获得500个帖子,那么您只需要2个电话。第一个包含250个返回元素,第二个通过使用在“next”值中定义的API调用来获得另外250个元素。请记住,默认值通常是25个元素,并且您不能使用任何您想要的限制。呼叫有一个最大限制,它会不时地改变,所以不要指望每次都能获得相同的结果。

顺便说一句,不要注意600calls / 600秒的限制,这只是一般限制。真正的限制是动态的,取决于许多因素。当然,这不是公开的。但是,如果你真的达到了极限,那么无论如何你都会做错事。