Опубликовать фотографию в Twitter, используя Curl и командную строку Windows - PullRequest
0 голосов
/ 30 сентября 2019

Я использую 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": "не могу вас подтвердить."}.

Я не могу понять правильный синтаксис и подпись, чтобы опубликовать как статус, так и фотографию.

Я был бы рад использовать более новый метод мультимедиа / загрузки, если это проще, но я также не смог заставить его работать.

1 Ответ

1 голос
/ 30 сентября 2019

Я выяснил синтаксис и подпись, чтобы заставить работать более новую конечную точку носителя / загрузки:

curl -k -X POST "https://upload.twitter.com/1.1/media/upload.json" -F" media=@file.jpg "-H "Авторизация: OAuth oauth_consumer_key = \" xxxxxxxxxxxxxx \ ", oauth_nonce = \" xxxxxxxxxxxxx \ ", oauth_signature = \" xxxxxxxxxxx \ ", oauth_signature_method = \" HMAC-SHA1 \ "xstata =\ "xxxxxxxxxxx \", oauth_version = \ "1.0 \" "

Ключ не включает мультимедийный файл как часть подписи

...