Обновить статус в твиттере, используя php, не так уж и сложно. БЫЛО. Старую добрую схему по отправке сообщений в твиттер о которой я писал ранее отменили и оставили только работу через OAuth. Сам по себе переход скорее оправдан, да и все не так уж сложно, учитывая кучу примеров и документации, но опять же, лично до меня некоторые вещи дошли не сразу.
Первое, что нам нужно сделать, это открыть твиттер и авторизоваться под аккаунтом, от которого мы будем слать сообщения.
Второе — нам нужно создать новое приложение. Для этого открываем страницу http://dev.twitter.com/apps/new и заполняем поля.
На данном этапе я остановлюсь подробнее.
- В поле Callback URL вводим значение http://siteurl.com/confirm.php
- Default Access type выбираем Read & Write
Остальные пункты на ваше усмотрение.
Третье что мы делаем — это качаем замечательную библиотеку с http://github.com/jmathai/twitter-async. В нее входит файл simpleTest.php в котором вроде как все просто и наглядно, но тут и кроется главный подвох. Забейте на этот файл. Удалите сразу, чтобы не путался под ногами.
Четвертое. Создаем в корне нашего сайт три файла: secret.php, confirm.php (смотрим в пункт 2) и start.php.
Теперь листинги этих файлов.
confirm.php
include 'EpiCurl.php'; include 'EpiOAuth.php'; include 'EpiTwitter.php'; include 'secret.php'; $twitterObj = new EpiTwitter($consumer_key, $consumer_secret); $twitterObj->setToken($_GET['oauth_token']); $token = $twitterObj->getAccessToken(); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); $twitterInfo= $twitterObj->get_accountVerify_credentials(); $twitterInfo->response; print "Your twitter username is {$twitterInfo->screen_name} and your profile picture is <img src=\"{$twitterInfo->profile_image_url}\"><hr />"; print 'token '. $token->oauth_token .'<br />'; print 'secret '. $token->oauth_token_secret;
confirm.php
include 'EpiCurl.php'; include 'EpiOAuth.php'; include 'EpiTwitter.php'; include 'secret.php'; $twitterObj = new EpiTwitter($consumer_key, $consumer_secret); echo '<a href="' . $twitterObj->getAuthorizationUrl() . '">Authorize with Twitter</a>';
secret.php пока пуст.
Пятое. Идем в свой аккаунт твиттера и переходим на http://twitter.com/apps, далее выбираем наше приложение, что мы создали в пункте 2 и видим значения Consumer key и Consumer secret. Берем эти значения и в файле secret.php пишем:
<?php $consumer_key = 'значение поля Consumer key'; $consumer_secret = 'значение поля Consumer secret';
Шестое. В браузере открываем http://siteurl.com/start.php, переходим по появившейся ссылке, далее нажимаем Allow и ждем редиректа на наш confirm.php.
Седьмое. Попав на страницу confirm.php мы должны увидеть свое имя, картинку и две строки со значение token и secret.
Берем эти значения и дописываем в secret.php следующие строки:
$token = 'значение token'; $secret = 'значение secret';
И вот только теперь мы можем создать файл который будет обновлять наш статус в твиттере:
$twitterObj = new EpiTwitter($consumer_key, $consumer_secret, $token, $secret); $status = $twitterObj->post('/statuses/update.json', array('status' => 'Проверяем твиттер'));
К слову, данная библиотека имеет огромные возможности и обновление статуса не самая интересная из них — есть с чем поиграться.
Кстати, кто пользуется твиттером может зафоловить меня, а чтобы получить полезные советы по созданию и ведению блога можно зайти на новый и интересный сайт по этой теме.
Тоже пользовался старым способом до недавнего времени, а сейчас перешёл на библиотеку twitteroauth, и пошёл немного другим путем. Переходим по ссылке и получаем пин, вводим его у себя в скрипте и постим сообщения 🙂 AccessToken и AccessTokenSecret автоматом заносятся в БД 🙂
Aravak может знаешь по какому принципу работают боты с сервиса optimizatoru.ru? которые саморазвивающиеся… пример @wir_tel — бот 🙂
Я так понимаю пин генерится для приложений, которые работают как клиент?
С ботами все несложно, все-таки я искусственный интеллект закончил 🙂 но думаю там не он, а просто куча предусмотренных вариантов, дешевка в общем
Да, pin генерируется. Мне просто это более удобно. Да и я сначала побоялся что авторизация будет сбиваться если другим способом подключатся, но вроде как нет разницы 🙂 и там и там выдаются постоянные токены.
Интересно было бы почитать про ботов 😉 хотя бы про дишёвку… мне то вообще кажется что сообщения парсят у других тви-аккаунтов, но проверял поиском фраз — один результат… т.е. как бы не краденые 🙂 но бывает только одно сообщения в несколько аков(ботов) запощено…
а у меня никак не получается с twitteroauth 🙁
Статья копипаст переведенный зарубежного автора… и не указал.
Знаю потому что читал оригинал.
ссылку на оригинал или пидорас?
здесь описан мой личный опыт и я даже могу указать для какого проекта все это сделано методом тыка!