И так, нам будет нужен TwitterOAuth PHP Class. Качаем отсюда https://github.com/abraham/twitteroauth. Или прямая ссылка на скачивание https://github.com/abraham/twitteroauth/zipball/0.2.0-beta3.
Из этого архива нам понадобятся только 2 файла, которые находятся в папке «twitteroauth», это — OAuth.php и twitteroauth.php
Дальше, регистрируем свое приложение на твитере. Регистрация доступна по адресу https://dev.twitter.com/apps.
На данном этапе нам необходимо будет ввести стандартные необходимые поля: название нашего приложения (Application Name), его описание (Application Name), сайт нашего приложения (Application Website) , организацию (Organization – если есть).
Ниже необходимо выбрать какой тип приложения мы будем использовать Client или Browser. Так как взаимодействия с браузером и пользователем у нас не будет, то мы выбираем Client (Desktop Client).
Дальше выбираем уровень доступа (Default Access type) Чтение-Запись твиттов (Read & Write) или просто чтение (Read-only).
При необходимости можно загрузить иконку для своего приложения.
Callback URL не указываем, так как нет взаимодействия с веб интерфейсом.
После успешной регистрации вашего приложения вам будут предоставлены 2 ключа доступа – это OAuth Consumer key и Consumer secret.
Создаем первый файлик index.php:
<?php define('TWITTER_KEY', 'Consumer key'); define('TWITTER_SECRET', 'Consumer secret'); include_once 'twitteroauth.php'; function generateAuthLink() { $oauth = new TwitterOAuth(TWITTER_KEY, TWITTER_SECRET); $request = $oauth->getRequestToken(); $requestToken = $request['oauth_token']; $requestTokenSecret = $request['oauth_token_secret']; $requestStr = '<?php' . "\n"; $requestStr .= '$request_token="' . $requestToken . "\"; \n"; $requestStr .= '$request_token_secret="' . $requestTokenSecret . "\"; \n"; $requestStr .= '?>' . "\n"; //echo $requestStr; file_put_contents('config.php', $requestStr); // Создаем ссылку $registerURL = $oauth->getAuthorizeURL($request); // Показываем ссылку echo "<br><br><br><a href=\"$registerURL\" target=\"_blank\">Register with Twitter and get PIN</a>"; } function generateOauthToken($requestToken, $requestTokenSecret, $pin) { $oauth = new TwitterOAuth(TWITTER_KEY, TWITTER_SECRET, $requestToken, $requestTokenSecret); // Создаем коды доступа по PIN коду $request = $oauth->getAccessToken($pin); $accessToken = $request['oauth_token']; $accessTokenSecret = $request['oauth_token_secret']; $requestStr = '<?php' . "\n"; $requestStr .= '$accessToken="' . $accessToken . "\"; \n"; $requestStr .= '$accessTokenSecret="' . $accessTokenSecret . "\";\n"; $requestStr .= '?>' . "\n"; file_put_contents('access.php', $requestStr); echo "<br>ok all done<br>"; } ?> <a href="index.php?step=1">Step 1</a> <a href="index.php?step=2">Step 2</a> <?php if($_GET['step'] == 1){ generateAuthLink(); } ?> <?php if($_GET['step'] == 2){ if(isset($_POST['pin'])){ include_once 'config.php'; $pin = $_POST['pin']; generateOauthToken($request_token, $request_token_secret, $pin); echo "U can try to send message now<br>"; }else{ $pin = ''; } ?> <form action="index.php?step=2" method="post" accept-charset="utf-8"> PIN :<input type="text" name="pin" value="<?php echo $pin; ?>" id="pin" /> <input type="submit" name="sub" value="Submit" /></form> <?php } ?>
Переходим на эту страницу, и выполняем два действия, Step 1 даем доступ к нашему приложению и генерируем PIN код. На Step 2 вводим полученный PIN код. Далее создаем второй файлик send.php:
<?php define('TWITTER_KEY', 'AWM4YnXBmEM7HCGu2ZlCw'); define('TWITTER_SECRET', 'YmzuyHsZhl6nHKMDbMv68G14ue0l37ZM4Jd1owBldpQ'); include_once 'twitteroauth.php'; include_once 'access.php'; function sendMessage($accessToken, $accessTokenSecret,$message) { $oauth = new TwitterOAuth(TWITTER_KEY, TWITTER_SECRET, $accessToken, $accessTokenSecret); // Проверяем от кого будут идти сообщение $credentials = $oauth->get("account/verify_credentials"); echo "Connected as @" . $credentials->screen_name; // Отправляем сообщение $oauth->post('statuses/update', array('status' => "VeXell robot: hello world")); } sendMessage ($accessToken, $accessTokenSecret,'Hellow word'); ?>
Вот собственно и все, однажды сгенирировав токены вы сможете пользоваться ими столько, сколько нужно.
Статья написана по материалам сайта vexell.ru