我们对facebook的graph api的调用次数是否有限制?如果有,那么我们每个应用每天可以打多少个电话?
我们对facebook的graph api的调用次数是否有限制?如果有,那么我们每个应用每天可以打多少个电话?
Answers:
另一个论坛(Ash Rust在2010年)对这个问题的最佳答案是:
“经过与Facebook平台团队的测试和讨论后,我没有意识到或可以在文档中找到任何官方限制。但是,我发现每600秒,每个令牌和每个IP 600个呼叫大约在哪里他们阻止了您,我也看到了一些基于应用程序的速率限制,但没有任何数字。
通常,每秒一次呼叫不应受到速率的限制。从表面上看,这似乎是非常严格的限制,但请记住,您可以批处理某些调用并使用订阅API进行更改。”
截至2015年10月,上述信息已过时。根据https://developers.facebook.com/docs/graph-api/advanced/rate-limiting,在任何给定的60分钟窗口内,每个用户现在有200个API调用
现在是正式的:
在任何给定的60分钟时间范围内,每个应用程序均向每个用户分配200个API调用。
从2015年10月7日起的Facebook文档中,以下是Graph API上的速率限制的工作原理:
例如,如果您的应用昨天有10个用户,今天有5个新登录,那么您的基础用户数为15。这意味着您的应用程序可以在任何60分钟的窗口内进行((10 + 5)* 200)= 3000个API调用。
此处的更多信息:https : //developers.facebook.com/docs/graph-api/advanced/rate-limiting
- 2016年4月12日更新-
Facebook现在有一个Rate Limit Dashboard,可以更轻松地查看您的应用程序的速率限制是否超过。看起来像这样:
Error: read ECONNRESET
?
estimatedCallsLeftForThisHour: 1234
在每次通话后返回,会容易得多。
根据Facebook开发人员政策“ I.特征和功能”,唯一的限制是:
(> 500万MAU)或(每天> 100M API调用)或(每天> 5000万次展示)。
(毛表示每月的用户)
它没有说超过限制后他们会怎么做...
今天,我遇到了这个限制:
到mailbox_fql的呼叫已超过每600秒300个呼叫的速率。
总体而言,每个表都有不同的限制集,在大多数情况下,fql不会为每个fql返回30个以上的对象。同样在我看来,您可以超出一个表的限制,并且同时可以访问其他表,问题是对所有用户还是仅对具有超出限制...无论如何,超出限制后,您必须等待约10分钟,这是可以的。
因此,从技术上讲,每10分钟最多可以在表mailbox_fql中获得300 * 30个对象。
从facebook文档
用户级别速率限制
此速率限制适用于用户级别的所有API调用(广告api除外)。
速率限制在滑动窗口上实时发生。每个呼叫都被分配一个分数。最大分数为n。用户会根据拨打的电话随时间累积得分。当达到最高分数时,将引发节流错误。错误,代码:17,消息:达到用户请求限制
应用程序级别速率限制
此速率限制在应用程序级别全局应用。排除广告api调用。
限速在滑动窗口上实时发生超过一小时。收集统计信息,包括调用和查询的次数,CPU使用时间,每个应用程序使用的内存。每个资源都有一个乘以给定应用程序的每月活跃用户的限制。当应用使用的资源超出其允许的资源时,将引发错误。错误,代码:4,消息:达到应用程序请求限制
查看此文档 https://developers.facebook.com/docs/reference/ads-api/api-rate-limiting/
根据FB文档,批次中的每个元素都算作一个单独的调用。
目前,我们将一个批次中的请求数量限制为50个,但是出于计算API调用限制和资源限制的目的,该批次中的每个调用都会被单独计数。例如,一批10个API调用将计为10个调用,并且该批中的每个调用以相同的方式对CPU资源限制做出贡献。
请检查以下内容:https : //developers.facebook.com/docs/graph-api/making-multiple-requests https://developers.facebook.com/docs/marketing-api/api-rate-limiting