我们的应用程序目前正在受到限制,我们正在获得
{
"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%
我认为这意味着我们过于频繁地发布到用户/external_edge...但我不知道用户/external_edge是什么 - 我如何找到这个?
另外,在与API切断之前,我们不应该收到电子邮件或警告吗?我们需要做什么才能不受限制?
一段时间后自动重置,我认为这是一个 600 秒的滚动窗口来计算限制,但如果实际达到限制,可能会将阻止延长到 3600 秒;不幸的是,在 API 响应中无法查看您与 CPU 和调用限制的接近程度,尤其是 CPU 限制很难预测,因为调用处理它们所需的资源差异很大。
gr:post:User/external_edge
Open Graph 操作,其他方法以连接名称命名(例如 gr:post:User/scores
是一个图形API(gr
)POST请求(post
)针对User
对象的scores
连接)
如果你的应用在这些方面受到限制,并且你没有为每个用户发布大量操作,请检查用于发布帖子的访问令牌;如果是应用访问令牌,请改为使用发布