Python Forum
Twitter authentication failure with Tweepy - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Web Scraping & Web Development (https://python-forum.io/forum-13.html)
+--- Thread: Twitter authentication failure with Tweepy (/thread-15847.html)



Twitter authentication failure with Tweepy - HSB - Feb-03-2019

Hello,

I am encountering a rather weird problem when authenticating my app with Twitter using Tweepy. Below code works like a charm on my Mac, but it fails on my NAS.

On my NAS I get this error code from the Twitter API:
[{“message”:”Could not authenticate you”,”code”:32}]
This is my code:
auth = tweepy.OAuthHandler ( apiKey, apiSecretKey )
auth.set_access_token ( accessToken, accessTokenSecret )
api = tweepy.API(auth, wait_on_rate_limit=True)
myID = api.me().id
Keys, tokens and secrects are identical on both machines. I have already refreshed them once, but it doesn't help.
On my Mac I use Python 3.7. On the NAS it's Python 3.5. This is the only obvious difference that I could find, but I cannot believe that this is the reason authentication is working on one machine, but not on the other.

I use Tweepy 3.7.0.

Any ideas what could cause this?


RE: Twitter authentication failure with Tweepy - HSB - Feb-03-2019

I have dug deeper into this and enabled debug output in Tweepy. But still I am puzzled.

On my MAC (OK)
send: b'GET /1.1/account/verify_credentials.json HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: api.twitter.com\r\nAuthorization: OAuth oauth_nonce="82970471272089437891549199975", oauth_timestamp="1549199975", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="<key>", oauth_token="<token>", oauth_signature="Rcq0xG7b1icM4WOuWqFG9HkXm4s%3D"\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
On my NAS (not OK)
send: b'GET /1.1/account/verify_credentials.json HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: api.twitter.com\r\nAuthorization: OAuth oauth_nonce="182485988168612436021549199916", oauth_timestamp="1549199916", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="<key>", oauth_token="<token>", oauth_signature="w%2F.nkkBk8Ic5kfvfDhM94%2F.cj4qq8%3D."\r\n\r\n'
reply: 'HTTP/1.1 401 Authorization Required\r\n'
The difference between both requests are nonce, timestamp and signature. But that looks natural to me.