Facebook应用程序被限制

Facebook应用程序被限制,facebook,facebook-graph-api,throttling,Facebook,Facebook Graph Api,Throttling,我正在使用一个应用程序,它在发出任何API请求时突然(在过去一周左右)开始收到以下响应: { "error": { "message": "(#4) Application request limit reached", "type": "OAuthException", "code": 4 } } 我的印象是,API限制是每个身份验证令牌、每个IP,但一旦发生这种情况,就会影响到每个使用该应用程序的人。在开发者洞察下,我看到: Restrict

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

{
   "error": {
      "message": "(#4) Application request limit reached",
      "type": "OAuthException",
      "code": 4
   }
}
我的印象是,API限制是每个身份验证令牌、每个IP,但一旦发生这种情况,就会影响到每个使用该应用程序的人。在开发者洞察下,我看到:

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获取最新数据

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

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


有什么想法吗?

看起来你太频繁地获取/me/home,这占用了太多的CPU时间-你是在循环中不断轮询还是什么?最初,是的。现在我正在使用实时更新。问题在于,实时更新是随意的。我可以在facebook.com上看到我自己账户的更新,但我的服务器很少会收到我的uid的更新,除非我在自己的墙上发布。所以,在我的应用程序中,我说如果5分钟后我没有从实时更新中得到任何东西,直接抓取/me/home。如果实时更新有效,我就不需要这样做了,但我看不到任何其他方法。我愿意接受建议。谢谢