Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

{    "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.

like image 655
Mike Lambert Avatar asked Jan 02 '12 07:01

Mike Lambert


1 Answers

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.

like image 190
Tim Tisdall Avatar answered Sep 24 '22 01:09

Tim Tisdall