как отправить твит с помощью twitter 1.1 api и twitteroauth

Я использую приведенный ниже код, чтобы получить мои твиты и echo json. Это прекрасно работает.

<?php session_start(); require_once('includes/twitter/twitteroauth.php'); $twitteruser = "xxxxxx"; $notweets = 3; $consumerkey = "xxxxxxx"; $consumersecret = "xxxxxx"; $accesstoken = "xxxxxxxx"; $accesstokensecret = "xxxxxx"; $connection = new TwitterOAuth($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); $tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets); echo json_encode($tweets); ?> 

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

 <?php session_start(); require_once('includes/twitter/twitteroauth.php'); //Path to twitteroauth library $twitteruser = "xxxxxx"; $notweets = 3; $consumerkey = "xxxxxxx"; $consumersecret = "xxxxxx"; $accesstoken = "xxxxxxxx"; $accesstokensecret = "xxxxxx"; // start connection $connection = new TwitterOAuth($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); //message $message = "Hi how are you"; //send message $status = $connection->post('https://api.twitter.com/1.1/statuses/update.json', array('status' => $message)); ?> в <?php session_start(); require_once('includes/twitter/twitteroauth.php'); //Path to twitteroauth library $twitteruser = "xxxxxx"; $notweets = 3; $consumerkey = "xxxxxxx"; $consumersecret = "xxxxxx"; $accesstoken = "xxxxxxxx"; $accesstokensecret = "xxxxxx"; // start connection $connection = new TwitterOAuth($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); //message $message = "Hi how are you"; //send message $status = $connection->post('https://api.twitter.com/1.1/statuses/update.json', array('status' => $message)); ?> 

Я использовал twitteroauth.php, чтобы опубликовать твиты, когда новый API сломал его. Вы правильно используете $connection->post , но, похоже, функция больше не работает. Самое легкое решение, которое я нашел, это обмен файлом twitteroauth.php с twitter-api-php-файлом J7mbo для нового 1.1 API:

https://github.com/J7mbo/twitter-api-php

Вот его пошаговые инструкции по его использованию. Я думаю, вы будете приятно удивлены, обнаружив, что вы можете оставить большую часть своего кода тем же самым, просто переключите вызовы twitteroauth с его вызовами функций в соответствующих местах:

Простейший пример PHP для извлечения user_timeline с API-интерфейсом Twitter версии 1.1

Он не дает конкретного примера публикации твита, но вот что вам нужно для этой функции:

 $url = 'https://api.twitter.com/1.1/statuses/update.json'; $requestMethod = 'POST'; $postfields = array( 'status' => 'Hi how are you' ); echo $twitter->buildOauth($url, $requestMethod) ->setPostfields($postfields) ->performRequest(); 

С новым API twitter вам не нужно указывать свое имя пользователя / пароль. Маркер аутентификации будет обрабатывать все.

Просто используйте пример:

 $connection->post('statuses/update', array('status' =>$message)); 

Попробуйте, вам не понадобится имя пользователя / пароль, который вы можете опубликовать через ключ API, прочитайте здесь учебник.

http://designspicy.com/learn-how-to-post-on-twitter-using-php-and-oauth/

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

пример

 $status = $connection->post('https://api.twitter.com/1.1/statuses/update.json', array('status' => rawurlencode($message))); 

Если вы проверите библиотеку, рекомендуется https://github.com/J7mbo/twitter-api-php

То, как они кодируют параметры