On Wed, Oct 21, 2009 at 11:22:44AM -0700, JB wrote: > Does anyone have a way to compare these two strings in PHP? > I have tried 3 different ways of comparing strings and they all fail. > Even more so recently. > > Looking for a solid way to see if a tweet was accepted by the API or > not.
Remember that every new status will be assigned a higher ID than any previously-existing ID. Therefore, when you get/store the user's current statusprior to sending the update (which you must be doing if you have its text), you can also remember its ID. Comparing the ID against the returned ID from the attempted update will tell you whether it was accepted or not. Alternately, if this is the only reason you're checking/storing the user's previous status, you may be able to save yourself a few API calls by saving the last seen ID globally instead of keeping it updated for each user individually. Using the ID rather than the status text should be more reliable, not only because numeric comparison is much more straightforward than string comparison, but also because the IDs are guaranteed to always be unique. This method could fail if the user updates his status using another application, then comes back and submits an update from yours before yours checks in with Twitter and is made aware of the new update, but there's really no way to reliably detect whether the update from your app has been rejected in that scenario. Which is why Twitter really needs to stop rejecting updates silently and add some kind of indicator (a non-200 HTTP status, an extra flag in the response payload, whatever) to tell us when the update had been rejected (and, ideally, why). -- Dave Sherohman