студия открытых решений о-никс
<< Автопостинг в твиттер Редирект www >>

Автоматический фолловинг в твиттере скриптом PHP

Рассмотрим создание скрипта автоматического взаимного фолловинга в твиттере.

Если у вас еще нет аккаунта в твиттере, то создаем его, получаем ключи и секреты для приложения твиттера, как описано в разделе Автопостинг в твиттер. Скачиваем, разархивируем и размещаем на хостинге библиотеку OAuth for Twitter's REST API, как это описано в том же разделе автоматического постинга в твиттер.

Скрипт автоматического фолловинга рассмотрим на примере того же аккаунта @kuku_clock, только обратите внимание, что все ключи и секреты в скриптах должны быть вашими - здесь они выдуманные для примера. Важно держать их в тайне, иначе через них можно получить доступ к вашему твиттер-аккаунту через API.

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

<?php

// keys.php
define('CONSUMER_KEY', 'DBed5ZsEek9fSDFbDdBfwD');
define('CONSUMER_SECRET', 'ekhSDFee2lLdiLsdf4W9sdfsUrdD6G6aSDFcpXjnZs');
define('OAUTH_TOKEN', '1942242121-4u2YBasdfdX31tBn1tPZR06Y4DZ7fSDFx80m8YI');
define('OAUTH_SECRET', 'sdFd1O3XdfNw7rSDFDnRcYvuGlabspcSgx6ADFSDD');

?>

Загрузите этот файл на хостинг в подкаталог inc.

Также важно соблюсти условие ограничения количества запросов через API твиттера в 150 запросов в час, иначе скрипты не будут работать, выдавая ошибку "Rate limit exceeded. Clients may not make more than 150 requests per hour." Для тестирования скрипта ограничим взаимный автофолловинг пятью фолловерами. Скрипт автоматического взаимного фолловинга autofollow.php:

<?php 
DEFINE('ROOT', realpath(dirname(__FILE__)).'/'); 
	require_once 'inc/keys.php';
	require_once 'lib/twitteroauth/twitteroauth.php';
	set_time_limit(120);

function autoFollow()
{
$toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET,
OAUTH_TOKEN, OAUTH_SECRET);
$toa->host = "https://api.twitter.com/1.1/";

$cursor = '-1';
$followers = $toa->get('followers/ids', array('cursor' => $cursor));
$followerIds = array();

foreach ($followers->ids as $i => $id) {
$followerIds[] = $id;
if ($i >= 5) break;
}

$cursor = '-1';
$friends = $toa->get('friends/ids', array('cursor' => $cursor));
$friendIds = array();
foreach ($friends->ids as $i => $id) {
$friendIds[] = $id;
if ($i >= 5) break;
}

$x=0;
foreach ($followerIds as $id) {
if (empty($friendIds) or !in_array($id, $friendIds)) {
$ret = $toa->post('friendships/create', array('user_id' => $id));
$x++;
if ($x >= 5) break;
}
}
}

autoFollow();

?>

 

Загрузите этот скрипт в каталог скриптов на вашем хостинге через ftp. Для тестирования скрипта его можно запустить прямо из строки браузера, набрав полный путь к нему на вашем сайте. Если все работает, то останется внести исполнение скрипта по расписанию через панель управления хостингом (например, cPanel), или с помощью crontab из командной строки (при наличии доступа к серверу по SSH):

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

Эта запись означает запуск скрипта в 00:00 раз в сутки.

[Продолжение следует]

<< Автопостинг в твиттер Редирект www >>

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

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