студия открытых решений о-никс
<< Favicon для любого браузера Автоматический фолловинг >>

Автопостинг в твиттер на PHP

Рассмотрим создание автопостинга в твиттер с помощью скрипта PHP на простом примере - создадим в твиттере часы-кукушку (в пику Биг-Бену и Кремлевским Курантам).

Начнем с нуля и зарегистрируем в твиттере аккаунт для автоматического постинга, например, @kuku-clock, подтвердим по e-mail принадлежность аккаунта и настроим его.

Далее идем по ссылке Twitter Developers и авторизуемся новым twitter-аккаунтом https://dev.twitter.com/user/login?destination=home, переходим в раздел "My applications" (мои приложения) https://dev.twitter.com/apps и нажимаем кнопочку "Create a new application" (или идем по ссылке https://dev.twitter.com/apps/new).

Создаем приложение твиттера (Create a new application)

 

Заполняем обязательные поля, ставим галочку согласия внизу "Yes, I agree" и нажимаем кнопку "Create a new application".

Заполняем обязательные поля при создании приложения твиттера

Далее переходим в раздел "Setting" и в части "Application Type" ставим в свойствах доступа (Access) точку на пункте "Read and Write".

Переходим в раздел Setting твиттер-приложения

Внизу нажимаем кнопку "Update this Twitter application's settings".

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

Возвращаемся в раздел "Details" и нажимаем внизу кнопку "Create my access token".

Создаем токены приложения твиттера (Create my access token)

В результате генерируются токены доступа для вашего твиттер-приложения. Для автоматизации постинга в твиттер с помощью скриптов нам понадобятся следующие ключи и секреты:

Consumer key
Consumer secret
Access token
Access token secret

Копируем их в надежное место и никому не показываем. Проверяем также в этом разделе "Access level" - он должен быть "Read and write".

Нам потребуется библиотека PHP, поддерживающая OAuth for Twitter's REST API. Качаем ее отсюда: https://github.com/abraham/twitteroauth. Вот ссылка на ZIP-архив библиотеки: https://github.com/abraham/twitteroauth/archive/master.zip

Допустим, скрипты и библиотеки у нас будут в подкаталоге  kuku. Создаем на хостинге каталог kuku, в нем создаем подкаталоги inc и lib. В подкаталог lib разархивируем содержимое zip-архива таким образом, чтобы каталог lib сразу содержал подкаталоги из архива twitteroauth, images и файлы.

Загружаем библиотеку OAuth for Twitter на хостинг через ftp в подкаталог lib

В подкаталог inc помещаем файл kukukeys.php, содержащий ваши ключи и секреты в следующем виде (здесь приведены выдуманныне ключи для примера, вы же ставьте свои!):

<?php
// ключи вашего twitter-приложения
$options=array();
$options['CONSUMER_KEY'] = 'DBbd5EsBoj9dNBEdWdEdsA';
$options['CONSUMER_SECRET'] = 'sbfKSDbb2lLdbLwec4W9kmdkUrdD6G6aKDBcdXkjZa';
$options['OAUTH_TOKEN'] = '1033434124-6u2BDksdbqX31tBksdPZR06Y4DZ7fQPUx80m8ID';
$options['OAUTH_SECRET'] = 'Fksd1O5XdfNw7rKSDFnRcYvuGsdfklgSgx6DFDlkSDB';
?>

 

Создаем файл php, содержащий скрипт, который будет автоматически постить в твиттер сообщения. Пока для проверки сделаем простейший скрипт, назовем его kuku.php:

<?php 
DEFINE('ROOT', realpath(dirname(__FILE__)).'/'); 
	require_once 'inc/kukukeys.php';
	require_once 'lib/twitteroauth/twitteroauth.php';
	$connection = new TwitterOAuth($options['CONSUMER_KEY'], 
		$options['CONSUMER_SECRET'], 
		$options['OAUTH_TOKEN'], 
		$options['OAUTH_SECRET']);
$connection->host = "https://api.twitter.com/1.1/";

$status = "ку-ку";
echo("$status");flush();
$connection->post('statuses/update', array('status'=>$status));

?>

Загружаем файл на хостинг в подкаталог kuku и проверяем его работу, открыв в строке браузера этот файл, набрав адрес в строке:

http://вашсайт.ru/kuku/kuku.php

Если вы все сделали правильно, то в вашем твиттер-аккаунте появится твит "ку-ку".

Осталось этот скрипт научить выполняться раз в час и выводить нужное количество "ку-ку".

Для этого можно использовать функции PHP str_repeat (повторение строки заданное число раз) и date("g"), выводящее количество часов в 12-часовом формате. Не забудем также задать часовой пояс.

В итоге у нас получается такой скрипт:

<?php 
DEFINE('ROOT', realpath(dirname(__FILE__)).'/'); 
	require_once 'inc/kukukeys.php';
	require_once 'lib/twitteroauth/twitteroauth.php';
	set_time_limit(120);
	$connection = new TwitterOAuth($options['CONSUMER_KEY'], 
		$options['CONSUMER_SECRET'], 
		$options['OAUTH_TOKEN'], 
		$options['OAUTH_SECRET']);
	$connection->host = "https://api.twitter.com/1.1/";

//задаем часовой пояс
date_default_timezone_set('Europe/Moscow');
//задаем твит, состоящий из "Ку-ку " в количестве, равном числу часов
$status = str_repeat('Ку-ку ', date("g"));
//выводим для контроля статус на страничку перед отправкой его в твит
echo("$status");flush();
// отправляем статус в твиттер
$connection->post('statuses/update', array('status'=>$status));

?>

Осталось запускать этот скрипт ровно в 00 минут каждого часа. Для этого можно использовать выполнение работа по расписанию. Ищите "задания Cron", или что-то похожее в панели управления вашим хостингом. Если у вас есть доступ к командной строке, то задать выполнение раз в час можно с помощью утилиты crontab:

0 * * * * /usr/bin/php /home/youdomain/public_html/kuku/kuku.php >/dev/null 2>&1

У нас получились вот такие модные часы с кукушкой в твиттере: @kuku_clock. Фолловьте!

Автоматический постинг в твиттер заранее подготовленных фраз

Используя принцип, реализованный в скрипте кукушки, можно организовать автоматический постинг в твиттер заранее подготовленных фраз, которые будут извлекаться последовательно из файла. Готовый пример скрипта, который автоматически твитит заранее заготовленные фразы из файла, вы можете скачать по ссылке ниже.

Скачать архив со скриптом автопостинга в твиттерdownloads: 2279 | type: zip | size: 9 kB

Файлы скрипта автопостинга в твиттер нужно извлечь из zip-архива, внести свои ключи и секреты в файл keys.php, размещенный в подкаталоге inc и загрузить все файлы на ваш хостинг. Заранее заготовленный текст для твитов содержится в файле status.txt. Необходимо, чтобы каждая строка в этом файле содержала не более 140 символов. Для того, чтобы в твиттер автоматически отправлялись заранее заготовленные твиты, нужно периодически запускать файл twit.php. Делать это можно как из браузера (например, для тестирования), так и из планировщика задач (cron) на вашем хостинге. В последнем случае нужно указать полный путь к файлу скрипта, как и в примере с кукушкой.

Для запуска скрипта из браузера просто откройте файл twit.php, как страничку вашего сайта. Например: http://your-site.ru/autotwit/twit.php

В скрипте также размещен код фолловинга аккаунта @o_nixdotcom и приветственного первого твита. Можете их удалить, если посчитаете ненужными.

"Спасибо" можно передать на Яндекс-кошелек 41001751578076 или кошельки Web-Money R045657591579 (копеечки) и Z675518766427 (центики) =)

 

<< Favicon для любого браузера Автоматический фолловинг >>

Поделиться в соцсетях:

система комментирования CACKLE
RSS