[英]When getting share count using Facebook graph, I keep getting Application Request limit reached error even though I'm nowhere near the limit
[英]Facebook OAuth Error: Application request limit reached
我想让facebook的示例页面(再次)工作,你可以在这里找到它。 我收到以下错误:
Fatal error: Uncaught OAuthException: (#4) Application request limit reached thrown in C:\wamp\www\base_facebook.php on line 988
我用谷歌搜索了这个问题似乎很容易通过使用这里列出的步骤来解决 。 但是,当我访问facebook.com/insights时,我的应用程序未列出(我已登录)。
更奇怪的是,当我通过开发人员>我的应用程序访问我的应用程序时,我可以转到我的应用程序页面并单击“数据洞察”。 这将我带到我的应用程序的Insights页面......但诊断部分无处可寻。 有人可以帮忙吗?
找出原因的概述方法是:
Insights
部分,然后单击“ See All
。 API > Activity & Errors
。 Facebook“图谱API速率限制”文档说,代码#4
的错误是应用程序级别的速率限制 ,这与用户级别的速率限制不同 。 虽然它没有给出任何确切的数字,但它将应用程序级别的速率限制描述为:
此速率限制适用于应用级别的全局。 广告API呼叫被排除在外。
- 速率限制在滑动窗口上实时发生过去一小时。
- 收集统计数据,包括调用和查询的数量,花费的CPU时间,每个应用程序使用的内存。
- 每个资源都有一个限制乘以给定应用的每月活跃用户。
- 当应用程序使用超过其允许的资源时,将引发错误。
- 错误,代码:4,消息:达到应用程序请求限制
文档还提供了避免速率限制的建议。 对于应用级别限制,它们是:
建议:
- 验证错误代码(4)以确认限制类型。
- 不要拨打电话,全天拨打电话。
- 智能提取数据(重要数据,非重复数据等)。
- 实时洞察,确保API调用的结构使您能够以尽可能少的请求读取尽可能多的页面帖子的洞察。
- 不要两次获取用户提要(如果两个App用户有一个共同的特定朋友)
- 如果朋友的数量超过250,请不要连续获取所有用户的朋友。在不同的日期分开提取。 作为选项,首先获取应用用户的新闻源(me / home),以便检测哪些朋友对App用户更重要。 然后,首先获取这些朋友的提要。
- 考虑使用以下参数限制/过滤请求:“since”,“until”,“limit”
- 对于页面相关的调用,使用实时更新来订阅数据中的更改。
- 字段扩展允许将多个图形查询“加入”到单个调用中。
- 用于检查自上次检查后数据查询是否已更改的Etags。
- 对于没有庞大用户群的页面管理开发人员,请让页面管理员接受应用程序以增加用户数量。
最后,文档提供以下信息提示:
- 批量呼叫不会减少api呼叫的数量。
- 进行并行呼叫不会减少api呼叫的数量。
如果您向其中一个不需要access_token的FB图形API端点发出GET请求,这并不意味着您不应将其包含在请求参数中。 如果你这样做,FB文档说不包括access_token而不是FB服务器端,它会注册到你的服务器机器。 因此,可以非常容易地达到限制(无论它究竟是多少)。 但是,如果您将用户访问令牌放入请求(&access_token = XXXXXX),则请求注册到特定用户,因此几乎不会达到限制。 您可以使用一个简单的脚本来测试它,该脚本使用和不使用用户access_token生成1000个请求。
注意,FB app访问令牌是不够的,因为您将面临同样的问题:请求将被注册到app access_token,情况类似于发出没有access_token的请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.