Facebook应用程序被限制,gr:post:User/external\U edge是什么

Facebook应用程序被限制,gr:post:User/external\U edge是什么,facebook,facebook-graph-api,facebook-insights,throttling,Facebook,Facebook Graph Api,Facebook Insights,Throttling,我们的应用程序当前被限制,我们正在 { "error": { "message": "(#4) Application request limit reached", "type": "OAuthException", "code": 4 } } 在应用程序上->洞察->开发者->活动和错误我们看到 Restrictions App is unrestricted. API Throttling None during specified period.

我们的应用程序当前被限制,我们正在

{
  "error": {
    "message": "(#4) Application request limit reached", 
    "type": "OAuthException", 
    "code": 4
  }
}
应用程序上
->
洞察
->
开发者
->
活动和错误
我们看到

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%
我想这意味着我们太频繁地向用户/外部_边缘发布。。。但我不知道什么是用户/外部边缘——我怎么才能找到它呢


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

限制会在一段时间后自动重置,我认为这是一个600秒的滚动窗口,用于计算限制,但如果实际达到限制,可能会将阻塞时间延长到3600秒;不幸的是,在API响应中无法看到您离CPU和调用限制有多近,尤其是CPU限制很难预测,因为调用处理它们所需的资源千差万别

gr:post:User/external_edge
是打开的图形操作,其他方法以连接的名称命名(例如,
gr:post:User/scores
是一个图形API(
gr
)post请求(
post
),针对
用户
对象的
scores
连接)


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

谢谢Igy。是否应该在post:User/external_edge阻止对fbid的简单get调用?fields=id,name,installed?如果能够解决这个问题,我们的应用程序将停止运行,因为获取用户朋友的名字是失败的。事实上,我不确定当你超过限制时“切换”会触发什么,以及在它重置之前它会如何影响不同的API调用:据我所知,最有可能达到的限制被计算为
配对,而不是在整个应用程序中-检查您是否在任何可能的地方使用用户访问令牌是的,很好。我们正在使用appaccess令牌发布开放的图表故事,这样用户就不能伪造它们。我想我们得放弃安全措施了。被阻止的简单读取是通过用户访问令牌请求的。@Igy-因为这是唯一相关的问题。。。我们有同样的东西,但我们的是gr:get:User/likes 100%,这仅仅是为了图形api调用,或者包括like按钮插件就我所知不应该影响您的api调用日志或限制;如果您在insights中有很多对gr:Get:User/likes的调用,可能是因为您正在检查某个用户是否喜欢某个特定页面,或者正在检索他们喜欢的完整列表