Why not? If Twitter states I can send 150 an hour or 1000 a day I should be
able to.  Not my rules its twitters. So I guess it needs to be written
somewhere that 42 per hour is the limit.  I am just trying to understand why
it appears that I am hitting a limit when i am only doing what twitter
apparently allows.  The limit I see is possibly the number of messages sent
at one time and twitter can't handle it and throws the error I have been
receiving.  So if that exists than I understand.  I just need to know where
it is stated.  The error message appears to wrong as well since I can still
send tweets and it has been a couple hours later.  Then I can tell the
program manager that this is why we can't send this many messages because of
this limit.  Maybe what will help is a link stating that there are
protections that prevent a certain number of updates/tweets happening at
once.

Thanks

On Thu, Jul 29, 2010 at 3:22 PM, Matt Harris <thematthar...@twitter.com>wrote:

> Why are you sending so many Tweets? It sounds like you are being restricted
> because you are sending too many per hour. The limit of updates per day
> exists but there are protections to prevent all those updates happening at
> once. I'm not familiar with the code that handles the measure windows or
> what the limits are but consider that 1000 tweets per day is approx 42 per
> hour.
>
> Matt
>
>
> On Thu, Jul 29, 2010 at 8:59 AM, Eric Mortensen <emort...@gmail.com>wrote:
>
>> 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
>>>>
>>>
>>>
>>
>
>
> --
>
>
> Matt Harris
> Developer Advocate, Twitter
> http://twitter.com/themattharris
>

Reply via email to