Я использую Curl для публикации в Twitter API через командную строку Windows. Я уже сгенерировал заголовки oAuth и могу опубликовать твит без фотографии, используя:
curl -k -X POST "https://api.twitter.com/1.1/statuses/update.json" -d "status=Test" -H "Authorization: OAuth oauth_consumer_key=\"xxxxxxxxxxxxxxxxxxx\", oauth_nonce=\"xxxxxxxxxxxxxxxxxxxxxxx\", oauth_signature=\"xxxxxxxxxxxxxxxxxxx\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"xxxxxxxxxx\", oauth_token=\"xxxxxxxxxxxxxxxxx\", oauth_version=\"1.0\""
Это нормально работает для публикации статуса, но я не могу понять, как разместить фотографию сстатус с использованием конечной точки statuses / update_with_media. Я знаю, что эта конечная точка устарела, но я пока хочу ее использовать.
Я пробовал несколько вариантов:
curl -k -X POST "https://api.twitter.com/1.1/statuses/update_with_media.json" -F \"[media]=@photo.jpg\" -F \"status=Test\" -H "Authorization: OAuth oauth_consumer_key=\"xxxxxxxxxx\", oauth_nonce=\"xxxxxxxxxxxxxxx\", oauth_signature=\"xxxxxxxxxxxxxxxx\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"xxxxxxx\", oauth_token=\"248911615-xxxxxxxxxxx\", oauth_version=\"1.0\""
, но безуспешно. Я всегда получаю сообщение {"code": 195, "message": "отсутствует или недействителен параметр url."} Или {"code": 32, "message": "не могу вас подтвердить."}.
Я не могу понять правильный синтаксис и подпись, чтобы опубликовать как статус, так и фотографию.
Я был бы рад использовать более новый метод мультимедиа / загрузки, если это проще, но я также не смог заставить его работать.