Я пытаюсь чирикать изображение, используя php. Я прочитал документацию и последовал за некоторыми учебниками. У меня нет проблем при отправке сообщения; однако он не работает с изображениями. Я не могу найти, где моя ошибка, может ли кто-нибудь помочь? Я был бы очень признателен.
<?php $comments = $_POST['comment']; if (isset($_POST['Twitter'])) { require_once('twitter/codebird-php/src/codebird.php'); \Codebird\Codebird::setConsumerKey("xxxxxx","xxxxxx"); $cb = \Codebird\Codebird::getInstance(); $cb->setToken("xxxxxx", "xxxxxxxxxx"); $params = array( 'status' => $comments, 'media[]' => "/images/image1.jpg" ); $reply = $cb->statuses_update($params); echo "You have posted your message succesfully"; } else{ echo "You havent posted anythingh"; } ?>
Вам нужно предоставить Твиттеру полный URI для вашего изображения.
У вас есть следующий код:
$params = array( 'status' => $comments, 'media[]' => "/images/image1.jpg" );
К сожалению, это не полный URL-адрес изображения, это относительный URL-адрес. Вместо этого вам нужно предоставить что-то вроде этого:
$params = array( 'status' => $comments, 'media[]' => "http://www.example.com/images/image1.jpg" );
Кроме того, согласно документации API Twitter v1 , вам необходимо использовать statuses/update_with_media
вместо statuses/update
.
Если вы используете Twitter API v1, Twitter также рекомендует использовать v1.1 вместо этого .