1

我正在使用一个应用程序,该应用程序在发出任何 API 请求时突然(在过去一周左右)开始收到以下响应:

{
   "error": {
      "message": "(#4) Application request limit reached",
      "type": "OAuthException",
      "code": 4
   }
}

我的印象是 API 限制是每个身份验证令牌、每个 IP,但是一旦开始发生这种情况,它就会影响使用该应用程序的每个人。在 Developer Insights 下,我看到:

Restrictions
App is unrestricted.

API Throttling  - 21 hours, 42 minutes

Too Many Calls  - 21 hours, 42 minutes
Method  Fraction of Budget
gr:get:User/home    441%
gr:get:Post/likes   145%
gr:get:User/feed    107%
gr:get:/fql 65%
gr:get:User/inbox   51%
gr:get:Post 26%
gr:get:User/events  20%
gr:get:User/notifications   18%
gr:get:Page/feed    18%
gr:get:ObjectComment    4.6%

Calls Are Too CPU Intensive  - 21 hours, 2 minutes
Method  Fraction of Budget
gr:get:User/home    3.5k%
gr:get:User/feed    382%
gr:get:Page/feed    205%
gr:get:Post/likes   106%
gr:get:User/inbox   63%
gr:get:/fql 40%
gr:get:User/notifications   25%
gr:get:Post 16%
gr:get:User/events  7.4%
gr:get:ObjectComment    3.2%

Calls Access Too Much Data  - 7 hours, 57 minutes
Method  Fraction of Budget
gr:get:User/home    372%
gr:get:User/feed    11%
gr:get:User/notifications   3.5%
gr:get:/fql 1.7%
gr:get:User/inbox   1.1%
gr:get:User/events  0.19%
gr:get:Post 0.07%
gr:get:Thread   0.04%
gr:get:Status   0.03%
dialog:oauth    0.03%

API Throttling Warnings  - 21 hours, 42 minutes

Too Many Calls  - 21 hours, 42 minutes
Method  Fraction of Budget
gr:get:User/home    882%
gr:get:Post/likes   291%
gr:get:User/feed    215%
gr:get:/fql 129%
gr:get:User/inbox   101%
gr:get:Post 52%
gr:get:User/events  40%
gr:get:User/notifications   37%
gr:get:Page/feed    35%
gr:get:ObjectComment    9.3%

Calls Are Too CPU Intensive  - 21 hours, 42 minutes
Method  Fraction of Budget
gr:get:User/home    7.1k%
gr:get:User/feed    742%
gr:get:Page/feed    410%
gr:get:Post/likes   213%
gr:get:User/inbox   124%
gr:get:/fql 78%
gr:get:User/notifications   49%
gr:get:Post 42%
gr:get:User/events  15%
gr:get:ObjectComment    6.3%

Calls Access Too Much Data  - 12 hours, 45 minutes
Method  Fraction of Budget
gr:get:User/home    715%
gr:get:User/feed    64%
gr:get:Page/feed    30%
gr:get:User/notifications   9.1%
gr:get:/fql 7.4%
gr:get:User/inbox   6.4%
gr:get:Post 2.2%
gr:get:User/events  0.64%
dialog:optin    0.16%
gr:get:Thread   0.07%

很明显,我正在做一些 FB 不喜欢的事情,它限制了我的应用程序的访问。我每 300 秒才访问一次 FB。是不是太频繁了?我正在尝试利用实时更新,但我得到的更新是零星的;即使我看到官方 Facebook 网站更新,它们也不总是通过。所以如果我在 5 分钟内没有发现任何实时更新,我就从 FB 获取最新数据。

当它工作时,我的应用程序运行良好。但是我和我的用户每天至少会遇到一次这种限制性错误。当我开发应用程序时,只有少数测试人员,我们从未遇到过这个问题。只是自从该应用程序可供更多用户使用后,它才成为一个问题。

我希望在某处清楚地记录可能导致节流的限制。

有任何想法吗?

4

0 回答 0