Dave, thanks a bunch. You called it. Looks like the update was greater 
than 140 characters and the API was failing silently.

Thanks!

Enlai

Dave Sherohman wrote:
> On Mon, Nov 02, 2009 at 09:38:48PM -0800, Enlai wrote:
>   
>> Sorry if this is a dumb question but I can't find an answer online.
>> This is happening right now so I thought I'd see if something is up
>> with the API.
>>
>> Sometimes, I get no response from the status update post and other
>> times, I get a response with a successful post result. However, the
>> text in the post shows the previous successful post rather than the
>> one I just posted.
>>
>> What does this mean? Has some rate been tripped?
>>     
>
> This has been noted by a few of us since mid-October.  Twitter changed
> the API behaviour such that a status update will fail silently and
> return the user's most recent prior status in two (known) cases:
>
> - If the text of the update exceeds 140 characters.  (This is a change
>   from the documented behaviour of truncating the text to 140
>   characters.)
>
> - If the text of the update is a duplicate of *any* previous status
>   update within an as-yet-unknown time period.  I know from my own
>   experience that the time period is at least an hour and I suspect that
>   it it much longer, perhaps even unlimited.  (This is a change from the
>   documented behaviour of only rejecting duplicates when consecutive.)
>
> There has been a comment made here on the list to the effect that
> Twitter intends to respond with an error code in these cases rather than
> failing silently, but no indication was given regarding an expected
> timeframe.
>
> Until Twitter does get around to telling us when updates have been
> rejected, two basic approaches have been suggested for detecting these
> silent failures:
>
> - Store the highest status ID which has been seen by your application.
>   When you submit an update, check the ID of the returned status.  If
>   the returned ID is less than the stored ID, you know the update was
>   rejected and an old status was returned.
>
> - Compare the text of the sent status to the text of the returned status
>   to see if they match.
>
> I prefer the ID-based method, as the text-based method is subject to
> both false positives (if Twitter applies bit.ly shortening, you'll think
> it failed unless you remember to ignore URLs when comparing the text)
> and false negatives (if the update is a duplicate of the user's most-
> recent status, the text will match even though the update failed), but
> YMMV.
>
>   

Reply via email to