dequis / purple-facebook

Facebook protocol plugin for libpurple (moved from jgeboski/purple-facebook)
GNU General Public License v2.0
954 stars 88 forks source link

Calls to this api have exceeded the rate limit. (613) #477

Open jaymzh opened 4 years ago

jaymzh commented 4 years ago

I'm getting Calls to this api have exceeded the rate limit. (613) for the last hour or so... dunno if it's my account (though it was working at home this morning), or if they're now blocking calls this plugin makes, or something else... but thought I'd post here as a place for people to comment on if they're also getting this.

jaymzh commented 4 years ago

This is consistent for me across multiple machines...

jaymzh commented 4 years ago

Hmmm so I was able to disconnect and reconnect at home, but at work I have been unable to connect for 3 days...

jaymzh commented 4 years ago

@dequis - any thoughts?

dequis commented 4 years ago

Unfortunately, your account is cursed.

More seriously: Would be nice to know which api, grab a debug log and skim?

jaymzh commented 4 years ago

@dequis it should be less-so - I'm no longer an employee, my account should be pretty standard these days.

Yeah, will do.

dequis commented 4 years ago

Oh, congrats on the freedom! That does make this issue more concerning though.

jaymzh commented 4 years ago
(13:05:57) http: Generated request headers:
POST /method/auth.login HTTP/1.1
...
(13:05:58) facebook: HTTP Response (0x560d66214040):
(13:05:58) facebook:   Response Error: 200
(13:05:58) facebook:   Response Data: {"error_code":613,"error_msg":"Calls to this ap
i have exceeded the rate limit. (613)","error_data":"{\"error_title\":\"You Can't Use
 This Feature Right Now\",\"error_message\":\"We limit how often you can post, commen
t or do other things in a given amount of time to help protect the community from spa
m. You can try again later. Learn More\"}","request_args":[{"key":"method","value":"a
uth.login"},{"key":"fb_api_req_friendly_name","value":"authenticate"},{"key":"email",
"value":"phil\u0040ipom.com"},{"key":"locale","value":"en_US"},{"key":"password","val
ue":"--sanitized--"},{"key":"format","value":"json"},{"key":"device_id","value":"a432
7d7e-45dd-45a4-b6fc-1f48ad0094fd"},{"key":"api_key","value":"--sanitized--"},{"key"
:"sig","value":"--sanitized--"}]}
(13:05:58) facebook: Parsing JSON: {"error_code":613,"error_msg":"Calls to this api h
ave exceeded the rate limit. (613)","error_data":"{\"error_title\":\"You Can't Use This Feature Right Now\",\"error_message\":\"We limit how often you can post, comment or do other things in a given amount of time to help protect the community from spam. You can try again later. Learn More\"}","request_args":[{"key":"method","value":"auth.login"},{"key":"fb_api_req_friendly_name","value":"authenticate"},{"key":"email","value":"phil\u0040ipom.com"},{"key":"locale","value":"en_US"},{"key":"password","value":"--sanitized--"},{"key":"format","value":"json"},{"key":"device_id","value":"a4327d7e-45dd-45a4-b6fc-1f48ad0094fd"},{"key":"api_key","value":"--sanitized--"},{"key":"sig","value":"--sanitized--"}]}
jaymzh commented 4 years ago

ha, thanks. just over 6 months. :) Let me know if you want me to send you the full log.

dequis commented 4 years ago

Oof, auth. I was hoping it would be something more special that we do and the official client doesn't.

A full log wouldn't change much. No idea what can be done here. Maybe stopping it from automatically reconnecting, if it does that when it receives this error (does it?), but auth likes to hard-fail on unknowns so i doubt it.

jaymzh commented 4 years ago

it throws an error and doesn't seem to autoreconnect (or at least not often).

What's weird is, it works fine from home, and fails from work. Though I leave home connected 100% of the time, and work is only connected when I'm in the office. I wonder if being connected at home is part of the issue?

jaymzh commented 4 years ago

I figured it out!!

The app-password I was using, I had, used on two machines at work, by accident (I think when I got my desktop I just rsyncd my homedir over and never thought twice about it). I don't think Facebook liked seeing the same app password from two IPs at the same time and decided it was bad.

So I deleted it, created a fresh one for each machine and all is well again.

We should probably suggest this as a course of action when this error comes up on that specific API call.

dequis commented 4 years ago

Awesome! Thanks for figuring it out.

brianjmurrell commented 3 years ago

I am seeing this now also. I don't, TTBOMK use app passwords. Maybe I need to. Where are they configured?

dequis commented 3 years ago

App passwords don't exist anymore as of last week. I don't think that would be related anyway

brianjmurrell commented 3 years ago

I didn't think it seemed related, but seemed worth a try.

So what do you think the problem is here? How do we resolve it?

brianjmurrell commented 3 years ago

No ideas on this? My pidgin facebook messenger account has been disabled for days due to this, so I cannot be hitting any actual API limits.

jaymzh commented 3 years ago

@brianjmurrell the error messages are woefully misleading. Almost certainly now that they've killed app passwords, all app passwords have been expired and that's why you're hitting it. Use the script I wrote over in #445

brianjmurrell commented 3 years ago

I have never used app-passwords nor have I enabled 2FA as in most cases, where they send you an SMS, it's just a huge pain in the ass and nothing more than security theatre.

So if I have never used app-passwords nor enabled 2FA security theatre, does #445 have any relevance?