For instance, set up the my database to create 200 tweets to post to a account. It ran at 11:49 AM EST. I noticed that 127 tweets were posted and the remaining got kicked with the error response. Not sure if there is a limit of 127 I thought it was 150 limit per hour. This also does not hit the 1000 daily limit since it was only 200 tweets. I will try this again in about 1 hour. I should be able to start tweeting again. Let me know what you think?
On Wed, Jul 28, 2010 at 12:19 PM, Eric Mortensen <emort...@gmail.com> wrote: > But, It appears did not hit a 1000 update limit since after an hour and can > start updates again. That why it appears to be an hourly limit. Not to > mention when this started I did not even have a 1000 tweets total on the > account. That is why it can't be the 1000 a day limit. There is should be > another reason for this. > > > On Tue, Jul 27, 2010 at 6:56 PM, Matt Harris <thematthar...@twitter.com>wrote: > >> Hey Eric, >> >> That error is the Twitter Limits kicking in saying there are too many >> status updates being posted by the account. This isn't an API rate limit but >> a natural limit which applies to all of Twitter. A user may not Twitter more >> than 1000 updates a day (this includes retweets). >> >> More information on these limits are explained on the page I linked to >> before: http://support.twitter.com/forums/10711/entries/15364 >> >> Hope that clarifies the what is happening. >> Matt >> >> >> On Tue, Jul 27, 2010 at 12:27 PM, Eric Mortensen <emort...@gmail.com>wrote: >> >>> Here is a response: >>> <?xml version="1.0" encoding="UTF-8"?> >>> <hash> >>> <error>User is over daily status update limit.</error> >>> <request>/1/statuses/update.xml</request> >>> </hash> >>> >>> >>> >>> On Thu, Jul 15, 2010 at 5:41 PM, Matt Harris >>> <thematthar...@twitter.com>wrote: >>> >>>> Hey Eric, >>>> >>>> Sorry that help article didn't answer your question. Can you provide the >>>> actual HTTP request being made and the HTTP response you get back? We're >>>> interested in the response body content in particular. >>>> >>>> Also, remember we disable basic authentication on August 16th so you >>>> want to switch to that method of authentication now. >>>> >>>> Matt >>>> >>>> On Thu, Jul 15, 2010 at 12:46 PM, Eric Mortensen <emort...@gmail.com>wrote: >>>> >>>>> Unfortunately not. Do you have anything else that might explain it? >>>>> >>>>> >>>>> On Thu, Jul 15, 2010 at 1:48 PM, Matt Harris < >>>>> thematthar...@twitter.com> wrote: >>>>> >>>>>> Hi Eric, >>>>>> >>>>>> In addition to the API Rate Limits there are general usage limits >>>>>> which apply to all of Twitter, including the website. These limits >>>>>> restrict >>>>>> various actions including the number of updates that can be posted per >>>>>> day. >>>>>> >>>>>> You can read more about Twitter Limits on our help website: >>>>>> http://support.twitter.com/forums/10711/entries/15364 >>>>>> >>>>>> Hope that answers your question, >>>>>> Matt >>>>>> >>>>>> >>>>>> On Thu, Jul 15, 2010 at 10:11 AM, Eric <emort...@gmail.com> wrote: >>>>>> >>>>>>> It appears that I am hitting a 150 post rate limit when I use the >>>>>>> statuses/update.xml api to update a twitter account eventhough I >>>>>>> should not have this limit doing only a post. Is there a reason why? >>>>>>> Here is the code I am using from oracle to do this: >>>>>>> >>>>>>> create or replace PACKAGE BODY tweet >>>>>>> AS >>>>>>> >>>>>>> twit_host VARCHAR2(255) := 'api.twitter.com'; >>>>>>> twit_protocol VARCHAR2(10) := 'http://'; >>>>>>> >>>>>>> -- URL for status updates >>>>>>> tweet_url VARCHAR2(255) := '/1/statuses/update.xml'; >>>>>>> >>>>>>> >>>>>>> FUNCTION tweet >>>>>>> ( >>>>>>> p_user IN VARCHAR2, >>>>>>> p_pwd IN VARCHAR2, >>>>>>> p_string IN VARCHAR2, >>>>>>> p_proxy_url IN VARCHAR2 DEFAULT NULL, >>>>>>> p_no_domains IN VARCHAR2 DEFAULT NULL ) >>>>>>> RETURN BOOLEAN >>>>>>> AS >>>>>>> v_req UTL_HTTP.REQ; -- HTTP request ID >>>>>>> v_resp UTL_HTTP.RESP; -- HTTP response ID >>>>>>> v_value VARCHAR2(1024); -- HTTP response data >>>>>>> v_status VARCHAR2(160); -- Status of the request >>>>>>> v_call VARCHAR2(2000); -- The request URL >>>>>>> v_log_value varchar2(4000) := 'status'; >>>>>>> BEGIN >>>>>>> >>>>>>> -- Twitter update url >>>>>>> v_call := twit_protocol || >>>>>>> twit_host || >>>>>>> tweet_url; >>>>>>> >>>>>>> -- encoded status string >>>>>>> v_status := utl_url.escape( >>>>>>> url => 'status=' || SUBSTR( short_url.encode_text(p_string) , >>>>>>> 1,140)); >>>>>>> >>>>>>> -- Authenticate via proxy >>>>>>> -- Proxy string looks like 'http://username:passw...@proxy.com' >>>>>>> -- p_no_domains is a list of domains not to use the proxy for >>>>>>> -- These settings override the defaults that are configured at the >>>>>>> database level >>>>>>> IF p_proxy_url IS NOT NULL >>>>>>> THEN >>>>>>> Utl_Http.set_proxy ( >>>>>>> proxy => p_proxy_url, >>>>>>> no_proxy_domains => p_no_domains >>>>>>> ); >>>>>>> END IF; >>>>>>> >>>>>>> -- Has to be a POST for status update >>>>>>> v_req := UTL_HTTP.BEGIN_REQUEST( >>>>>>> url => v_call, >>>>>>> method =>'POST'); >>>>>>> >>>>>>> -- Pretend we're a moz browser >>>>>>> UTL_HTTP.SET_HEADER( >>>>>>> r => v_req, >>>>>>> name => 'User-Agent', >>>>>>> value => 'Mozilla/4.0'); >>>>>>> >>>>>>> -- Pretend we're coming from an html form >>>>>>> UTL_HTTP.SET_HEADER( >>>>>>> r => v_req, >>>>>>> name => 'Content-Type', >>>>>>> value => 'application/x-www-form-urlencoded'); >>>>>>> >>>>>>> -- Set the length of the input >>>>>>> UTL_HTTP.SET_HEADER( >>>>>>> r => v_req, >>>>>>> name => 'Content-Length', >>>>>>> value => length(v_status)); >>>>>>> >>>>>>> -- authenticate with twitter user/pass >>>>>>> UTL_HTTP.SET_AUTHENTICATION( >>>>>>> r => v_req, >>>>>>> username => p_user, >>>>>>> password => p_pwd ); >>>>>>> >>>>>>> -- Send the update >>>>>>> UTL_HTTP.WRITE_TEXT( >>>>>>> r => v_req, >>>>>>> data => v_status ); >>>>>>> >>>>>>> UTL_HTTP.end_request (v_req); >>>>>>> >>>>>>> RETURN TRUE; >>>>>>> >>>>>>> EXCEPTION >>>>>>> -- normal exception when reading the response >>>>>>> WHEN UTL_HTTP.END_OF_BODY THEN >>>>>>> UTL_HTTP.end_request (v_req); >>>>>>> RETURN TRUE; >>>>>>> >>>>>>> -- Anything else and send false >>>>>>> WHEN OTHERS THEN >>>>>>> UTL_HTTP.end_request (v_req); >>>>>>> Dbms_Output.Put_Line ( 'Request_Failed: ' || >>>>>>> Utl_Http.Get_Detailed_Sqlerrm ); >>>>>>> Dbms_Output.Put_Line ( 'Ora: ' || Sqlerrm ); >>>>>>> RETURN FALSE; >>>>>>> >>>>>>> END; >>>>>>> >>>>>>> END tweet; >>>>>>> >>>>>>> >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> Matt Harris >>>>>> Developer Advocate, Twitter >>>>>> http://twitter.com/themattharris >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> >>>> >>>> Matt Harris >>>> Developer Advocate, Twitter >>>> http://twitter.com/themattharris >>>> >>> >>> >> >> >> -- >> >> >> Matt Harris >> Developer Advocate, Twitter >> http://twitter.com/themattharris >> > >