Don't understand "(#4) User request limit reached"
Asked Answered
S

1

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

I'm not sure the cause of this error, and yes I've done lots of searching around for similar user's problems (they are error #17, or app limit reached). And I'm doing this on regular graph API calls (such as https://graph.facebook.com/me ), not necessarily FQL like others have run into.

User request limit reached makes it seem like a per-user limit, but according to http://www.fb-developers.info/tech/fb_dev/faq/general/gen_10.php , #4 is "Application request limit reached" and #17 is "User request limit reached".

I don't believe there's anyway I'm hitting the 100M/day app limit. And I only get it for a couple users' auth tokens, so it's not an app-wide error message I'm getting. And when I request too quickly, I usually get FQL_EC_RATE_LIMIT_EXCEEDED.

But for those two users with the above error "(#4) User request limit reached", I've temporarily blacklisted them from loading data, but yet they still get the above error when I try to access using that auth token a day later.

So in conclusion...

I don't understand how I can get "(#4) User request limit reached" when the auth-token for that user is not being used for any queries in a 24-hour period prior. And I don't know what is special about these users.

Any advice or suggestions would be greatly appreciated. It was only one user a few days ago, but today a second user started running into this problem, and I'm worried the problem will just get worse in the future with no clear resolution.

Settles answered 2/1, 2012 at 7:32 Comment(3)
Great question, voted it up for you!Rockaway
I would submit all of your documentation on this issue as a bug to facebook since there's been no activity on this question. Post your bug report as the answer.Rockaway
I've never seen this error before. If we can replicate it, we might be able to figure out the cause. Is there any deterministic way to replicate it?Estuary
S
7

Here is a list of error codes: http://fbdevwiki.com/wiki/Error_codes

#4 means you've made too many API requests. There are limits on how many your application can make given a certain amount of time. There are also limits based on each user. If you wait for a while the error should clear and allow you to make requests again.

The error codes are a throwback from older API's so it's possible they just combined #4 and #17 to always just return #4.

Also, the limits are not fixed such as "100M/day". Go to Insights for your application and look under Diagnostics. It will show you what requests are causing that error. The limits vary from day to day and I think are related to how much other traffic there is.

Seedy answered 25/1, 2012 at 19:8 Comment(5)
Hi. I've got this error without any User and anu app (in public call). How is it possible ?Turbulence
@Turbulence - don't all calls require an app id now?Seedy
No. Try to get data from this page ID. 464975223572738Turbulence
@Turbulence - they may limit requests by IP in that case... I have no idea.Seedy
I can make the call if a set a token. maybe a mix between IP and userTurbulence

© 2022 - 2024 — McMap. All rights reserved.