Как отправить изображение на Twitter с помощью php?

Легко публиковать текст без изображения, я нашел много полезной ссылки для публикации текста, но когда я искал, как публиковать изображение с текстом вместе на twitter, используя php-код, не было справедливого результата, теперь я хочу загрузить изображение с помощью Text on твиттер, действительно ли это возможно? если да, как это сделать? ниже код, который я использовал для публикации текста:

<?php $consumerKey="SDJFOISDJF4EIFOISDJFOJFOIJSDFJ"; $consumerSecret="KJSFIOERSDJFLKMEROI3JRISDFJSDF"; $oAuthToken="KSDJFOFJIEIOR5343904830948DKFDSLFJSDLKFJSDLKFJ"; $oAuthSecret="ASJDFOIRU3RUIODJFKLSDFOIEJRTOJOIDFJOIEJTROIEJOIDJF"; include ("OAuth.php"); include ("twitteroauth.php"); $twitter=new TwitterOAuth($consumerKey,$consumerSecret,$oAuthToken,$oAuthSecret); if($_GET['msg']!="") { if(isset($_GET['msg'])) { $twittMsg=$_GET['msg']; $twitter->post('statuses/update',array('status'=>$twittMsg)); print(json_encode("one")); }else { print(json_encode("two")); } } else { print(json_encode("Three")); } 

СПАСИБО за любую помощь, ребята, пожалуйста, ваш комментарий …

Solutions Collecting From Web of "Как отправить изображение на Twitter с помощью php?"

Если вы используете sdk tmhOAuth, вы можете сделать это так!

 $code = $tmhOAuth->request('POST', 'https://api.twitter.com/1.1/statuses/update_with_media.json', array( 'media[]' => $image, 'status' => "your message" ), true, // use auth true // multipart ); 

$ image может быть изображением из вашего сервиса или изображения брута с URL-адреса. ($ image = file_get_content (URL-адрес изображения)

Вы можете попробовать асинхронную библиотеку twitter

 define( 'CONSUMER_KEY' , 'your twitter app consumer key'); define( 'CONSUMER_SECRET' , 'your twitter app consumer key secret'); define( 'TOKEN_KEY' , 'your token'); define( 'TOKEN_SECRET' , 'your token secret'); include 'EpiOAuth.php'; include 'EpiTwitter.php'; $twttr = new EpiTwitter(CONSUMER_KEY, CONSUMER_SECRET, TOKEN_KEY, TOKEN_SECRET); $params = array('@image' => '@/path/to/image.jpg'); $response = $twttr->post_accountUpdate_profile_image($params); echo $response->responseText; 

См. Этот репозиторий Twitter Async

Я думаю, вы можете попробовать это, скачать Twitter Api для php и создали одну функцию.

 function image_upload(){ define( 'YOUR_CONSUMER_KEY' , 'your twitter app consumer key'); define( 'YOUR_CONSUMER_SECRET' , 'your twitter app consumer key secret'); require ('twitt/tmhOAuth.php'); require ('twitt/tmhUtilities.php'); $tmhOAuth = new tmhOAuth(array( 'consumer_key' => "YOUR_CONSUMER_KEY", 'consumer_secret' => "YOUR_CONSUMER_SECRET", 'user_token' => "YOUR_OAUTH_TOKEN", 'user_secret' => "YOUR_OAUTH_TOKEN_SECRET", )); $image = 'image.jpg'; $code = $tmhOAuth->request( 'POST','https://upload.twitter.com/1/statuses/update_with_media.json', array( 'media[]' => "@{$image};type=image/jpeg;filename={$image}", 'status' => 'message text written here', ), true, // use auth true // multipart ); if ($code == 200){ tmhUtilities::pr(json_decode($tmhOAuth->response['response'])); }else{ tmhUtilities::pr($tmhOAuth->response['response']); } return tmhUtilities; 

}

Пожалуйста, обратитесь к этому репо https://github.com/themattharris/tmhOAuth

Просто проверьте этот фрагмент кода, используя 'tmhOAuth library for PHP'.

 include '/var/www/apps/Twitter/tmhOAuth.php'; $tmhOAuth = new tmhOAuth(array( 'consumer_key' => 'x', 'consumer_secret'=> 'x', 'token' => 'x', 'secret' => 'X' )); $image ='/var/www/images/SpinHistoryRoulette.png'; $status = "Picture posting test bitcoin-roulette.com"; $tmhOAuth->request('POST', 'https://api.twitter.com/1.1/statuses/update_with_media.json', array( 'media[]' => "@{$image}", 'status' => $status), true, true ); 

В последнем коде строки:

  • убедитесь, что изображение $ является ссылкой на локальное имя файла (NOT URL)
  • проверьте параметры для запроса (), как указано выше

В качестве альтернативы см. http://www.stirring-interactive.com/blog/tweet-images-using-twitter-api/