dar*_*mon 26 api facebook-graph-api
我已经看到一些人提到的600次通话/ 600秒速率限制(例如在quora上).
我想知道的是,我是否被允许在600秒内完成600个批量请求(批量请求最多包含50个请求).
DMC*_*MCS 12
您应该通过检查以下错误消息以编程方式处理速率限制.如果遇到错误,则应在下次调用之前进入时间等待循环.我的一个高流量应用程序帐户会监视此错误并将减慢速度.
来自:https://developers.facebook.com/docs/bestpractices/
速率限制(API_EC_TOO_MANY_CALLS)如果您的应用程序拨打过多电话,API服务器可能会自动对您进行速率限制,返回"API_EC_TOO_MANY_CALLS"错误.一般来说,这不应该发生.如果是这样,那是因为您的应用程序已被确定为进行了太多的API调用.迭代您的代码,以便尽可能少地打电话,以保持所需的用户体验.您还应该避免复杂的FQL查询.要了解您的应用程序是否受到限制,请转到数据洞察并单击"限制".
编辑
正如Igy在评论主题中报告的那样,该批次中的每个请求都计为1.对于600的最大限制示例,这意味着您可以触发15个批处理请求,每个请求包含50个调用.
根据FB docs,批处理中的每个元素都算作一个单独的调用.
我们目前将批处理中的请求数限制为50,但为了计算API调用限制和资源限制,批处理中的每个调用都会单独计算.例如,一批10个API调用将计为10个调用,批处理中的每个调用都以相同的方式提供CPU资源限制.
引用自:https://developers.facebook.com/docs/reference/api/batch/
然而,我没有经验证据.
大卫
根据我的经验,他们会根据个人请求计算个人请求(无论是否批量生产).
例如,如果我正在尝试每批包含10个请求的1批/秒,我很快就会收到"太多调用".
如果我正在进行1批/ 10秒,每批包含10个请求,我从未看到过多次调用.
我个人认为没有理由比常规API调用更喜欢批处理.
我现在在使用Facebook API方面经历了很多痛苦的经历,我可以指出:
我执行的最频繁的图形API调用包含许多嵌套字段,并且我注意到执行200次后达到了“ 600个调用/ 600秒”。所以基本上这个电话在我的情况下算为3 ...
您还有很多其他速率限制,但是没有一个正确记录。