什么是Facebook的Graph API调用限制?

时间:2012-01-03 13:48:12

标签: facebook-graph-api facebook facebook-like facebook-fql

我们对facebook的图表API进行的通话数量有限制吗? 如果它在那里那么我们每天可以为每个应用程序拨打多少电话?

4 个答案:

答案 0 :(得分:56)

来自2010年Ash Rust的另一个forum的这个问题的最佳答案:

  

“在与Facebook平台团队进行一些测试和讨论之后,我没有官方限制或者可以在文档中找到。但是,我发现 600次呼叫每600秒,每个令牌和放大器;每个IP 是关于它们阻止你的地方。我也看到了一些基于应用程序的速率限制,但没有任何数字。

     

作为一般规则,每秒一次通话不应受到速率限制。从表面上看,这似乎非常严格,但请记住,您可以批量调用某些调用并使用订阅API进行更改。“


截至2015年10月,上述信息已经过时。根据https://developers.facebook.com/docs/graph-api/advanced/rate-limiting ,现在在任何给定的60分钟窗口中,每个用户都有 200个API调用

答案 1 :(得分:43)

现在它是official

在任何给定的60分钟窗口中,每个应用程序都会为每个用户分配 200个API调用

2015年10月7日的Facebook文档开始,以下是图谱API的速率限制:

  • 限速是在您的Facebook AppId上完成的。如果您的应用达到了 速率限制,为该应用程序拨打的所有电话将不仅限于a 每个用户。
  • 速率限制是通过获取您的应用的用户数来计算的 前一天加入了今天的新登录。这给了一个基础 您的应用拥有的用户数量。

例如,如果您的应用程序昨天有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,如果您的应用程序的速率限制超出,则更容易看到。它看起来像这样:

enter image description here

答案 2 :(得分:19)

根据Facebook dev policies "I. Features and Functionality",唯一的限制是:

  

(> 5M MAU)或(每天100万次API调用)或(每天> 50万次展示)。

(Mau表示每月用户)

它没有说明超出限制后他们会做什么......

今天我遇到了这个限制:

  

对mailbox_fql的调用已超过每600秒300次调用的速度。

总的来说,每个表都有不同的限制,在大多数情况下,fql不会为每个fql返回超过30个对象。在我看来,你可以超过一个表的限制,同时你可以访问不同的表,问题是api是否被阻止(超过限制后)所有用户或仅限于具有该用户的用户超出限制...无论如何,超过限制后你必须等待大约10分钟,而不是好的。

从技术上讲,你可以在表mailbox_fql中每10分钟获得最多300 * 30个对象。

答案 3 :(得分:5)

来自facebook文档

用户级别限制

此限制适用于除用户广告api以外的所有API呼叫的用户级别。

速率限制在滑动窗口上实时发生。 每个电话都会分配一个分数。最高分为n。 用户根据所做的调用累积随时间的分数。 达到最大分数时,将引发限制错误。 错误,代码:17,消息:达到用户请求限制

应用程序级别限制

此速率限制在应用级别全局应用。广告API呼叫被排除在外。

在过去一小时的滑动窗口上实时进行速率限制。 收集统计数据,包括调用和查询的数量,花费的CPU时间,每个应用程序使用的内存。 每个资源都有一个限制乘以给定应用的每月活跃用户。 当应用程序使用超过其允许的资源时,将引发错误。 错误,代码:4,消息:已达到应用程序请求限制

查看此文档 https://developers.facebook.com/docs/reference/ads-api/api-rate-limiting/