Я следовал этому учебнику, чтобы сделать загрузку мультимедиа в Twitter API. Загрузка текста работает отлично, но если я хочу загрузить медиа, я получаю сообщение об ошибке:
Неустранимая ошибка: необработанное исключение «InvalidArgumentException» с сообщением «Вы должны предоставить читаемый файл» в /hp/be/ac/on/www/vendor/abraham/twitteroauth/src/TwitterOAuth.php:297 трассировки стека: # 0 /hp/be/ac/on/www/vendor/abraham/twitteroauth/src/TwitterOAuth.php(266): Abraham \ TwitterOAuth \ TwitterOAuth-> uploadMediaNotChunked ('https://upload....', Array) # 1 / hp / be / ac / on / www / posten.php (288): Abraham \ TwitterOAuth \ TwitterOAuth-> upload ('https://upload....', Array) # 2 {main} добавлено в / hp / be / ac / on / www /vendor/abraham/twitteroauth/src/TwitterOAuth.php в строке 297
Это мой код:
$twitter = new TwitterOAuth(
$config['consumer_key'],
$config['consumer_secret'],
$OAuthToken,
$OAuthTokenSecret
);
$post_media = $twitter->upload('media/upload', ['media' => "/uploads/Bilder/1.png"]);
/**$parameters = [
'status' => "Test description",
'media_ids' => implode(',', [$post_media->media_id_string])
];
$result = $twitter->post('statuses/update', $parameters);**/
Как вы видите, я даже прокомментировал часть, начиная с $parameters
, но это не изменило результат. Поэтому ошибка должна быть в строке загрузки.
Я уже пытался заменить media/upload
на https://upload.twitter.com/1.1/media/upload.json
, как сказано в https://github.com/abraham/twitteroauth/issues/562,, но это тоже не помогло.
Я проверил, что ссылка /uploads/Bilder/1.png
верна и ссылается на изображение на моем сервере. Так почему же скрипт не работает?
Кто-нибудь знает решение этой проблемы?