I'm making around 50-60 unfollow requests per minute and it's still throwing the error. Did you have a chance to look at it? My site is unsable :(
-N On Apr 8, 1:11 am, Nischal Shetty <[email protected]> wrote: > Thank you so much for getting back. I'm using twitter4j version 2.2.1 , it > uses all the latest api endpoints. > > I could not get the raw response data as there's no easy way to do that > using the API and I've been busy trying to work around the errors my app > has been getting. > > Here's the message that I get in my log: > > 420:Returned by the Search and Trends API when you are being rate limited > (http://dev.twitter.com/pages/rate-limiting). > Returned by the Streaming API: > Too many login attempts in a short period of time. > Running too many copies of the same application authenticating with the same > account name. > > This is the URL being used : > > http://api.twitter.com/1/friendships/destroy.json?include_entities=fa... > > -N > > On 8 April 2011 00:37, Matt Harris <[email protected]> wrote: > > > > > > > > > Does the error you get back have any message in the response body? > > Also, just so we are absolutely clear which API method you are calling, can > > you share the exact URL you are hitting and parameters you are sending > > (obscuring any secure information) > > > On Thu, Apr 7, 2011 at 10:58 AM, nischalshetty > > <[email protected]>wrote: > > >> It's just not working. No matter how much I wait, as soon as unfollow > >> requests start I get the Error Code 420. I have no clue what to do. > > >> Can you please check on your end if my app JustUnfollow.com is being > >> rate limited for some reason. I've been trying from more than 24 > >> hours. Thousands of users use the app everyday. This is causing a lot > >> of problem and making me lose users. > > >> I request you, please have a check, I have not changed any code, nor > >> am I making any new API calls and my API calls did not increase > >> drastically. I've been running this app over a year now. > > >> It's only the unfollow requests that get the 420 error. My app also > >> has follow requests which seem to be working fine. > > >> -N > > >> On Apr 7, 11:10 am, nischalshetty <[email protected]> wrote: > >> > I'm implementing queuing right now. That will hopefully settle things > >> > a little. Once that is done I will provide whatever info I can to get > >> > this thing sorted. > > >> > @Taylor I would like to specifically thank you for getting back to me. > >> > Considering the amount of distress calls you guys get, a response time > >> > this quick is awesome. I'm hoping queuing would help me stop all the > >> > 420 error codes. > > >> > The way I'll be implementing this is : > > >> > 1. First 420 error occurs, start adding unfollows to Queue > >> > 2. Queue would try to unfollow, if error, defer for 10s > >> > 3. Keep doubling the check time till it reaches say 10 minutes > >> > 4. Keep trying every 10 minutes > > >> > I hope this will ease things out and make my app look good to your > >> > abuse detection algorithm :) > > >> > I tried searching but did not get any definite write up. Is it > >> > advisable to back off even when there are 502/503/500 error? The > >> > reason I ask is because these errors are quite common and if an app > >> > really starts backing off on these errors then there would be a lot of > >> > lag. But I have a feeling not backing off on these errors is one of > >> > the reasons for the 420 error that my apps encountering, though you > >> > would be the right person to answer this. > > >> > -Nischal > > >> > On Apr 7, 6:14 am, nischalshetty <[email protected]> wrote: > > >> > > Another thing I would like to add is along with these errors I also am > >> > > getting a lot of 502 and 503 requests. Do they have to do something > >> > > with this? > > >> > > -N > > >> > > On Apr 7, 5:58 am, nischalshetty <[email protected]> wrote: > > >> > > > Even as I wrote this and got my servers back up, the 420 errors > >> > > > started all over again :( Please, can you check on your end using my > >> > > > app code or something. I can mail you the app id if you want. The > >> app > >> > > > is justunfollow.com > > >> > > > -N > > >> > > > On Apr 7, 5:55 am, nischalshetty <[email protected]> wrote: > > >> > > > > > There may be others on the IP address you are using abusing the > >> system and > >> > > > > > making you suffer as a result. > > >> > > > > Probably but then this had happened twice as I said earlier and > >> both > >> > > > > the times none of the api's worked until one of you guys removed > >> the > >> > > > > ips from the blacklist. > > >> > > > > > Do you get a HTTP status code 420 just for unfollow requests or > >> is it for > >> > > > > > all requests? Have you attempted to perform the operation in > >> isolation from > >> > > > > > your servers (not tied to your application business logic, > >> perhaps using > >> > > > > > command line tools or Curl, Twurl, etc.)? > > >> > > > > I'm getting it for Unfollow requests only. It does not throw > >> errors > >> > > > > when I try it individually even on my own server. I had a test url > >> set > >> > > > > up and it did not throw error on unfollowing around 200 users. > >> That's > >> > > > > the time I made it live for everyone but it started giving the > >> errors > >> > > > > in a few minutes of going live again. > > >> > > > > > Can you do the following: > > >> > > > > > 1) Issue one of the API calls you're trying to make, taking note > >> of the > >> > > > > > exact API URL you're executing (tell me which it is) > >> > > > > > (may as well at this time verify that you're using the proper > >> URL > >> > > > > > structures, including api.twitter.com as the domain "/1/" > >> prepending all > >> > > > > > resource URLs to indicate the API version) > >> > > > > > 2) When/if you get the the error response, capture the exact > >> HTTP status > >> > > > > > code and the raw/exact HTTP body you get in response? (Not as > >> interpreted by > >> > > > > > any library you're using). > > >> > > > > I will do this and revert back. I am using the latest version of > >> > > > > twitter4j and it uses api.twitter.com as the end point. > > >> > > > > I had put the servers off for the last 5-6 hours now. I just > >> turned > >> > > > > them back up. I'm hoping the same thing does not start again :( > > >> > > > > -N > > >> > > > > On Apr 7, 12:44 am, Taylor Singletary < > >> [email protected]> > >> > > > > wrote: > > >> > > > > > There may be others on the IP address you are using abusing the > >> system and > >> > > > > > making you suffer as a result. > > >> > > > > > Do you get a HTTP status code 420 just for unfollow requests or > >> is it for > >> > > > > > all requests? Have you attempted to perform the operation in > >> isolation from > >> > > > > > your servers (not tied to your application business logic, > >> perhaps using > >> > > > > > command line tools or Curl, Twurl, etc.)? > > >> > > > > > Can you do the following: > > >> > > > > > 1) Issue one of the API calls you're trying to make, taking note > >> of the > >> > > > > > exact API URL you're executing (tell me which it is) > >> > > > > > (may as well at this time verify that you're using the proper > >> URL > >> > > > > > structures, including api.twitter.com as the domain "/1/" > >> prepending all > >> > > > > > resource URLs to indicate the API version) > >> > > > > > 2) When/if you get the the error response, capture the exact > >> HTTP status > >> > > > > > code and the raw/exact HTTP body you get in response? (Not as > >> interpreted by > >> > > > > > any library you're using). > > >> > > > > > @episod <http://twitter.com/episod> - Taylor Singletary > > >> > > > > > On Wed, Apr 6, 2011 at 12:07 PM, nischalshetty < > >> [email protected]>wrote: > > >> > > > > > > I cooled down my servers for more than 2 hours now. There were > >> no > >> > > > > > > activities happening through my app. I turned it back on just > >> a few > >> > > > > > > minutes back. > > >> > > > > > > The same problem, getting 420 error codes :( Cooling it off > >> again, can > >> > > > > > > you do something to get me out of this trouble? > > >> > > > > > > -N > > >> > > > > > > On Apr 6, 9:07 pm, nischalshetty <[email protected]> > >> wrote: > >> > > > > > > > Though I have so many users, each user has an internal limit > >> of 100 > >> > > > > > > > unfollows per day which is well within any sort of limits. > >> That is one > >> > > > > > > > of the reasons why I never implemented any queuing > >> mechanism, such > >> > > > > > > > short number of unfollows can be done instantly. > > >> > > > > > > > Besides, there were no sudden spikes in traffic so this > >> sudden rate > >> > > > > > > > limiting baffles me. And automated unfollows are not allowed > >> so I > >> > > > > > > > thought queuing wouldn't be a good idea. I'll try to > >> implement > >> > > > > > > > something like that but what's the short term solution? Can > >> you do > >> > > > > > > > something on your end to remove the rate limit if any that > >> might have > >> > > > > > > > been put on my app? > > >> > > > > > > > I have always adhered to twitter limits and rules never > >> going out of > >> > > > > > > > my way. Please help me with this. > > >> > > > > > > > -Nischal > > >> > > > > > > > On Apr 6, 9:00 pm, Taylor Singletary < > >> [email protected]> > >> > > > > > > > wrote: > > >> > > > > > > > > By running on Google App Engine, or any host where you > >> share IP > >> > > > > > > addresses > >> > > > > > > > > with another service, you're going to be at a disadvantage > >> when it > >> > > > > > > comes to > >> > > > > > > > > abuse detection -- my advice would be to ensure you have a > >> queue system > >> > > > > > > in > >> > > > > > > > > place for API actions you take (really any application > >> servicing > >> > > > > > > anywhere > >> > > > > > > > > near as many users as you do should have this in place), > >> especially > >> > > > > > > actions > >> > > > > > > > > applied in bulk -- you will have times that you need to > >> queue up your > >> > > > > > > > > actions until you can resume making requests -- the best > >> way to detect > >> > > > > > > if > >> > > > > > > > > you can resume making requests is by intermittently trying > >> a single > >> > > > > > > item at > >> > > > > > > > > the top > > ... > > read more » -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
