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