For best results, normalize your space separation characters to "%20"
instead of "+". Your POST body should contain something like
"tweet%20from%20the%20api" and your OAuth signature basestring would encode
this portion as "tweet%2520from%2520the%2520api".
Some libraries get a little confused with the plus character.
Taylor
On Fri, Jan 7, 2011 at 9:33 AM, Andy wrote:
> I am using OAuth to authenticate and then sending in a status update -
> which works beautifully if there are no spaces in the status string.
> As soon as I add one in, I run into a 401 - invalid signature error.
> Any advice?
>
> Posting to: http://api.twitter.com/1/statuses/update.json
>
> Here are the Headers (everything's stripped from the authorization):
> ==Authorization==
> OAuth oauth_signature="[my oauth sig]", oauth_token="[my oauth
> token]", oauth_consumer_key="[consumer key]", oauth_nonce="[nonce]",
> oauth_signature_method="HMAC-SHA1", oauth_timestamp="1294421252",
> oauth_version="1.0"
> ==Content-Length==
> 25
> ==Content-Type==
> application/x-www-form-urlencoded; charset=UTF-8
> ==User-Agent==
> oAuthRequestAgent
>
>
> Then the page is:
> ==method==
> post
> ==protocol==
> HTTP/1.1
> ==content==
> status=tweet+from+the+api
>
> --
> 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
>
--
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