我们对facebook的图表api进行的通话数量有限制吗?如果它在那里那么我们每天可以为每个应用程序拨打多少电话?
来自2010年Ash Rust的另一个forum问题的最佳答案:
“经过与Facebook平台团队的一些测试和讨论后,我没有官方限制或者可以在文档中找到。但是,我发现600个电话每600秒,每个令牌和每个IP都在哪里他们阻止了你。我也看到了一些基于应用程序的速率限制,但没有任何数字。
作为一般规则,每秒一次呼叫不应该限制速率。从表面上看,这似乎非常严格,但请记住,您可以批量调用某些调用并使用订阅API来获取更改。“
以上信息现已截至2015年10月已过时。根据https://developers.facebook.com/docs/graph-api/advanced/rate-limiting,现在每个用户在任何给定的60分钟窗口内有200个API调用
现在是official:
在任何给定的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,如果您的应用程序的速率限制超过,则更容易看到。它看起来像这样:
据Facebook dev policies "I. Features and Functionality"说,唯一的限制是:
(> 5M MAU)或(>每天100M API调用)或(每天> 50M印象)。
(Mau表示每月用户)
它没有说明超过限制后他们会做什么......
今天我遇到了这个限制:
对mailbox_fql的调用已超过每600秒300次调用的速率。
总的来说,每个表都有不同的限制,在大多数情况下,fql不会为每个fql返回超过30个对象。在我看来,你可以超过一个表的限制,同时你可以访问不同的表,问题是api是否被阻止(超过限制后)所有用户或仅限于具有该用户的用户超出限制...无论如何,超过限制后你必须等待大约10分钟,而不是好的。
从技术上讲,在table mailbox_fql中,每10分钟最多可以获得300 * 30个对象。
来自facebook文档
用户级别限制
对于除广告api之外的所有api呼叫,在用户级别应用此速率限制。
速率限制在滑动窗口上实时发生。每个电话都会分配一个分数。最高分为n。用户根据所做的调用累积随时间的分数。达到最大分数时,将引发限制错误。错误,代码:17,消息:达到用户请求限制
应用级别限制
此速率限制适用于应用级别的全局。广告API呼叫被排除在外。
速率限制在滑动窗口上实时发生过去一小时。收集统计数据,包括调用和查询的数量,花费的CPU时间,每个应用程序使用的内存。每个资源都有一个限制乘以给定应用的每月活跃用户。当应用程序使用超过其允许的资源时,将引发错误。错误,代码:4,消息:达到应用程序请求限制
查看此文档https://developers.facebook.com/docs/reference/ads-api/api-rate-limiting/
根据FB docs,批处理中的每个元素都算作一个单独的调用。
我们目前将批处理中的请求数限制为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