1

我们的应用程序目前正在受到限制,我们正在获取

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

App-> Insights-> Developer->Activity & Errors我们看到

Restrictions
App is unrestricted.

API Throttling
None during specified period.

所以看起来我们不应该受到限制,但我可以看到一个警告,

Calls Are Too CPU Intensive  - 2 hours, 38 minutes
Method  Fraction of Budget

gr:post:User/external_edge  109%
gr:post:User/scores 1.8%
gr:get:User/external_edge   1.8%
gr:get:/fql 1.2%
ui:feed:async:get:  0.43%
gr:post:OpenGraphAction/commen  0.15%
ui:apprequests:iframe:get:  0.08%
gr:delete:Post  0.04%
gr:delete:  0.02%
ui:feed:async:post: 0.02%

我认为这意味着我们过于频繁地向 User/external_edge...

我们不应该在被 API 切断之前收到电子邮件或警告吗?我们需要做什么才能不受约束?

4

1 回答 1

2

限制会在一段时间后自动重置,我认为这是一个 600 秒的滚动窗口来计算限制,但如果实际达到限制,可能会将阻塞延长到 3600 秒;不幸的是,API 响应中无法查看您与 CPU 和调用限制的接近程度,尤其是 CPU 限制难以预测,因为调用需要处理它们的资源差异很大。

gr:post:User/external_edge是 Open Graph 动作,其他方法以连接的名称命名(例如gr:post:User/scores是 Graph API ( gr) POST 请求 ( post) 针对对象的scores连接User

如果您的应用程序在这些方面受到限制,并且您没有为每个用户发布大量操作,请检查使用哪个访问令牌来发布帖子;如果它是应用程序访问令牌,请使用用户访问令牌来代替发布帖子的用户

于 2012-12-17T22:44:36.627 回答