10

我正在尝试让 facebook 的示例页面(再次)正常工作,您可以在此处找到。我收到以下错误:

Fatal error: Uncaught OAuthException: (#4) Application request limit reached thrown in C:\wamp\www\base_facebook.php on line 988

我已经用谷歌搜索了这个问题,使用这里列出的步骤似乎很容易解决这个问题。但是,当我访问 facebook.com/insights 时,我的应用程序未列出(我已登录)。

更奇怪的是,当我通过 Developers > My apps 进入我的应用程序时,我可以进入我的应用程序页面并单击“Insights”。这将我带到了我的应用程序的 Insights 页面......但诊断部分无处可寻。任何人都可以帮忙吗?

4

3 回答 3

7

找出为什么会发生这种情况的概述方法是:

  1. 登录https://developers.facebook.com/apps/
  2. 您编辑的最后一个应用程序应该已经在右侧加载;如果没有,请在左侧找到您的应用并单击名称。
  3. 向下滚动直到您看到该Insights部分,然后单击See All
  4. 从左侧的菜单中,选择API > Activity & Errors
于 2012-08-15T02:09:08.967 回答
3

Facebook“Graph API Rate Limiting”文档说代码错误#4应用程序级别的速率限制,这与用户级别的速率限制不同。虽然它没有给出任何确切的数字,但它将他们的应用级别速率限制描述为:

此速率限制在应用程序级别全局应用。广告 api 调用被排除在外。

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

文档还提供了避免速率限制的建议。对于应用程序级别限制,它们是:

建议:

最后,文档提供了以下信息提示:

  • 批处理调用不会减少api调用的次数。
  • 进行并行调用不会减少 api 调用的次数。
于 2014-10-24T14:55:28.513 回答
2

如果您向不需要 access_token 的 FB 图 API 端点之一发出 GET 请求,这并不意味着您不应将其包含在请求参数中。如果您按照 FB 文档中所说的那样做,则不包括 access_token,而不是在 FB 服务器端它会注册到您的服务器计算机中。因此,可以很容易地达到限制(无论数量是多少)。但是,如果您将用户访问令牌放入请求中(&access_token=XXXXXX),然后请求将注册到特定用户,因此几乎不会达到限制。您可以使用一个简单的脚本来测试它,该脚本在有和没有用户 access_token 的情况下发出 1000 个请求。

注意,FB 应用程序访问令牌是不够的,因为您将面临同样的问题:请求将被注册到应用程序 access_token 中,这种情况类似于在没有 access_token 的情况下发出请求。

于 2013-07-11T08:20:32.180 回答