Search code examples
pythonoauthtwitter-oauthpython-requeststwitter-rest-api

Odd: Twitter API v1.1 returning Error(46) "'The Twitter REST API v1 is no longer active." from a VALID 1.1 endpoint. Any body else?


When calling the twitter api v1.1 endpoint:

https://upload.twitter.com/1.1/media/uplaod.json

I get the following error:

message: The Twitter REST API v1 is no longer active. Please migrate to API 
v1.1. https://dev.twitter.com/docs/api/1.1/overview.
code: 64

Full request made via python-requests with requests-oauthlib:

POST https://upload.twitter.com/1.1/media/uplaod.json
Content-Length: 25566
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.4.3 CPython/2.7.2 Windows/post2008Server
Connection: keep-alive
Content-Type: multipart/form-data; boundary=57ae35dd03714226a367e5a8268f9c5b
Authorization: OAuth oauth_nonce="<censored>", oauth_timestamp="1424492683", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="<censored>", oauth_token="<censored>", oauth_signature="<censored>"

--57ae35dd03714226a367e5a8268f9c5b
Content-Disposition: form-data; name="media[]"; filename="4725ec4acf23d7a9a7fd92337f2b4713f746c7df.jpg"
Content-Type: application/octet-stream
<censored...binary...data>
--57ae35dd03714226a367e5a8268f9c5b--

This was working earlier today. Can somebody confirm it's a twitter issue and i'm not going mad?

Seems other endpoints such as https://api.twitter.com/1.1/statuses/home_timeline.json are working fine.

Clicking this link with chrome gets the error:https://upload.twitter.com/1.1/media/uplaod.json

It's Twitter, not me...


Solution

  • It seems you are calling wrong URL - just typing error.

    Instead

    https://upload.twitter.com/1.1/media/uplaod.json
    

    you should call:

    https://upload.twitter.com/1.1/media/upload.json