Я делаю POST-запрос на https://upload.twitter.com/1.1/media/upload.json
с постфилдом
'media_data' => base64_encode(file_get_contents($path))
Твиттер API всегда возвращает ошибку «Тип носителя не распознан».
в чем дело?
Я попытался изменить postfield для этих версий:
'media_data' => 'data:image/'.$type.';base64,' . base64_encode(file_get_contents($path)),
'media' => file_get_contents($path),
'media' => realpath($path)...
форматы файлов: jpeg, jpg
Я не уверен почему средства массовой информации не работал на тебя, но media_data должен использоваться без заголовка. Я использовал это таким образом, и это работает.
'media_data' => base64_encode(file_get_contents($path));
https://github.com/J7mbo/twitter-api-php/blob/1.0.5/test/TwitterAPIExchangeTest.php#L174-L181
Других решений пока нет …