I’m having some odd problems with trying to check the status of uploaded videos.
I should preface by saying I’m executing the following:
INIT (success)
APPEND (success)
FINALIZE (success) (these three come from a previous flow I’ve created, which returns the media_id)
twurl -H upload.twitter.com “/1.1/media/upload.json?command=STATUS&media_id=723184613183643652” --trace
which returns:
503 Service Temporarily Unavailable
{“errors”:[{“message”:“Over capacity”,“code”:130}]}
(Twitter appears to be up and running, not over capacity.)
Now, when I try to make a call using the same code as the INIT, APPEND, and FINALIZE steps, I get “media parameter is missing.”. I’ve been reading here that that could be related to Oauth headers, but I would expect required headers not to change just based on the command parameter.
If someone from staff wants to take a look at it, I can provide a cURL dump, but the following headers are set:
oauth_consumer_key ,
oauth_nonce ,
oauth_signature_method=“HMAC-SHA1”,
oauth_timestamp=“1461256342”,
oauth_version=“1.0”,
oauth_token,
oauth_signature
Content-Type: application/x-www-form-urlencoded
I should also mention I am NOT fully following the guidelines here https://dev.twitter.com/rest/media/uploading-media .
Specifically:
Because the method uses multipart POST, OAuth is handled a little differently. POST or query string parameters are not used when calculating an OAuth signature basestring or signature. Only the oauth_* parameters are used.
When I exclude POST or query string parameters from calculating my OAuth signature, my INIT, APPEND, and FINALIZE calls fail (I get unauthorized exceptions). Therefore, I am likewise not following this guidance when doing a GET media/upload.json for STATUS.