Я не могу опубликовать в Твиттере, используя cURL и PHP - PullRequest
0 голосов
/ 22 июня 2010

Я не могу твитнуть постоянно в твиттере - каждые три твита, которые я получаю:

Ошибка при публикации в Twitter. Повторить

Как мне это исправить?

Мой код выглядит следующим образом:

$host = "http://twitter.com/statuses/update.xmlstatus=".urlencode(stripslashes(urldecode($message)));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
$result = curl_exec($ch);
// Look at the returned header
$resultArray = curl_getinfo($ch);
//print_r($resultArray);
if($resultArray['http_code'] == "200"){
     $twitter_status='Your message has been Tweeted';
     update_tweet_extra($result_id,"1");
} else {
 $twitter_status="Error posting to Twitter. Retry";
 // update_tweet_extra($result_id,"0");
}
echo  $twitter_status;

Ответы [ 5 ]

2 голосов
/ 22 июня 2010

Я не думаю, что это проблема с вашим кодом, но больше факт, что Twitter постепенно прекращает поддержку базовой аутентификации и переходит на OAuth.

Больше информации на http://apiwiki.twitter.com/Authentication.

2 голосов
/ 10 сентября 2010

Вы не можете использовать API с базовой аутентификацией с 31 августа 2010 года. Вы можете использовать функцию небольшого паука с curl, который входит в систему, получает ваш дом и твитит.Я сделал это: http://www.barattalo.it/2010/09/09/how-to-change-twitter-status-with-php-and-curl-without-oauth/ Если вы не хотите использовать модель аутентификации oAuth, вы должны сделать это следующим образом.

0 голосов
/ 23 января 2014

Вы можете найти список PHP-библиотек, которые поддерживают OAUTH, и вы можете использовать их для написания функции твита на PHP и версии API Twitter 1.1 для версии здесь: https://dev.twitter.com/docs/twitter-libraries

tmhOAuth вероятно мой любимый.

0 голосов
/ 15 мая 2012

чтобы твитнуть с помощью твиттера, вам понадобится post_authenticity_token вместе с вашим именем пользователя и пароль . этот токен можно получить со страницы вашего профиля, загрузив его с помощью curl (после входа в систему с помощью curl). Я экспериментировал с curl и мог твитовать с помощью curl. Вы можете найти мой код по адресу (хотя он находится в bash-скрипте, он может быть легко перенесен на php, потому что они оба используют curl ) http://pastebin.com/a5eBcEeP.

0 голосов
/ 22 июня 2010

Это кажется очень странным, поскольку обновления статуса через API Twitter не ограничены по скорости (см. здесь ), если вы не обновляете более 1000 раз в день .

Вы можете узнать больше о том, что произошло, если раскомментировать эту полезную строку:

//print_r($resultArray);

, удалив // в начале строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...