Hi @skeddles,
Thank you for letting us know. It looks like this topic may have already been discussed in this thread: errors-message-could-not-authenticate-you-code-32:
{“errors”:[{“message”:“Could not authenticate you”,“code”:32}]}
In my case, with /statuses/update, it appeared to be the nonce, which should be exactly 32 characters 0…9, a…f. (upper or lowercase doesn’t matter).
Testing with the oauth tool, using the nonce generated revealed this.
If you changed your app rights from read-only to write, regenerate your keys.
Tip: follow the example from the docs, using their keys, nonce, timestamp and status, and see if your signature matches theirs. Then change to API 1.1 and use a correct timestamp, keys and nonce. Check your request with the oauth tool to see if your header matches, fire your request with a tool like postman.
Another issue: some API’s don’t work if your browser is connected to twitter while testing!
For what it’s worth: I did not put my status (text) in the body of the request, but as an url parameter. This works fine.
and here…
{“errors”:[{“message”:“Could not authenticate you”,“code”:32}]}
When implementing Twitter sign in flow, I noticed that I was having {“errors”: [{“code”:32,”message”:”Could not authenticate you.”}]} error message when connecting to some end points. At the end I realized the problem came from the way the base string required for signature was encoded.
Some end points like /statuses/home_timeline will require an extra percent-encoding of the values of parameters used when generating the base string, while some others like /statuses/update will not.
For more details, I recommend you to read this post: http://soupkodjou.com/implementing-twitter-oauth-in-java-step-by-step/5/ .
This post provides a step by step details on how to getting started with Twitter API, without using third-party libraries.
If the above post doesn’t help, please let me know.
Hamza