Ниже представлены несколько фрагментов код на PHP, которые позволяют взаимодействовать с популярной системой микроблоггинга — Twitter.
- Автофолловинг в Twitter средствами PHP.
- Покажите количество фолловеров.
- Отобразите Ваш последний статус в Twitter.
- Граббер e-mail адресов из Twitter.
- Функция таймлайн.
- Покажите ваши записи из Twitter на своем блоге WordPress.
Оригинал статьи на сайте Cats Who Code.com. Я выбрал только те функции, которые мне были интересны.
1 — Скрипт автофолловинга (PHP)
Данный фрагмент кода позволяет вам автоматически фолловить пользователей, которые пишут в Twitter на определенную тему. Например, если вы хотите следить за пользователями, пишущими на тему PHP — просто введите это слово в значение переменной $term на строке 7.
Как использовать скрипт
1. Укажите нужные значения:
$user — укажите ваше имя пользователя в Twitter
$pass — укажите ваш пароль в Twitter
$term — укажите интересующую вас тему
2. Вставьте скрипт в файл *.php и загрузите файл на сервер.
3. Запустите скрипт из браузера через адресную строку.
name;
}
}
}
$userApiUrl = "http://search.twitter.com/search.json?q=" . $term . "&rpp=100";
$ch = curl_init($userApiUrl);
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pass);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$apiresponse = curl_exec($ch);
curl_close($ch);
if ($apiresponse) {
$results = json_decode($apiresponse);
$count = 20;
if ($results != null) {
$resultsArr = $results->results;
if (is_array($resultsArr)) {
foreach ($resultsArr as $result) {
$from_user = $result->from_user;
if (!in_array($from_user,$followed)) {
$ch = curl_init("http://twitter.com/friendships/create/" . $from_user . ".json");
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pass);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"follow=true");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$apiresponse = curl_exec($ch);
if ($apiresponse) {
$response = json_decode($apiresponse);
if ($response != null) {
if (property_exists($response,"following")) {
if ($response->following === true) {
echo "Now following " . $response->screen_name . "\n";
} else {
echo "Couldn't follow " . $response->screen_name . "\n";
}
} else {
echo "Follow limit exceeded, skipped " . $from_user . "\n";
}
}
}
curl_close($ch);
} else {
echo "Already following " . $from_user . "\n";
}
}
}
}
}
?>
2 — Покажите количество фолловеров (PHP)
Если у вас есть сайт или блог и вы используете Twitter — отличным решением является демонстрация количества своих фолловеров. Для того, чтобы это сделать — используйте вот такой короткий код:
(.*)',$xml,$match)!=0) {
$tw['count'] = $match[1];
}
echo $tw['count'];
?>
Для вывода количества своих фолловеров, необходимо заменить Proofsite на свое имя в Twitter.
3 — Отобразите Ваш последний статус в Twitter (PHP)
Простая PHP функция позволит вам получить последний статус в Twitter, а также выведет его на страницах вашего блога или сайта + небольшая корректировка от меня, для вывода статуса в правильной кодировке.
Как узнать свой ID в Twitter?
(.*)<\/text>/', $src, $m);
$status = htmlentities($m[1]);
if( $hyperlinks ) $status = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "\\0", $status);
return($status);
}
$status = get_status($twitter_id, $hyperlinks);
echo wp_specialchars($status);
?>
4 — Граббер e-mail адресов из Twitter (PHP)
Вы прекрасно знаете, что не стоит указывать свой e-mail адрес на всех сайтах подряд. Включая и Twitter. Учитывая популярность сайта, спамеры создают скрипты для того, чтобы считать ваш e-mail со страниц сайта. Например, вот такие:
5 — Функция таймлайн (PHP)
Как только Twitter набрал популярность, многие стали восхищаться принципом вывода информации о времени написания твиттов: 1 час назад, около 7 дней назад, менее минуты назад и т.д. Это именно та задача, которую выполняет написанная ниже функция.
function timespan($time1, $time2 = NULL, $output = 'years,months,weeks,days,hours,minutes,seconds')
{
$output = preg_split('/[^a-z]+/', strtolower((string) $output));
if (empty($output))
return FALSE;
extract(array_flip($output), EXTR_SKIP);
$time1 = max(0, (int) $time1);
$time2 = empty($time2) ? time() : max(0, (int) $time2);
$timespan = abs($time1 - $time2);
isset($years) and $timespan -= 31556926 * ($years = (int) floor($timespan / 31556926));
isset($months) and $timespan -= 2629744 * ($months = (int) floor($timespan / 2629743.83));
isset($weeks) and $timespan -= 604800 * ($weeks = (int) floor($timespan / 604800));
isset($days) and $timespan -= 86400 * ($days = (int) floor($timespan / 86400));
isset($hours) and $timespan -= 3600 * ($hours = (int) floor($timespan / 3600));
isset($minutes) and $timespan -= 60 * ($minutes = (int) floor($timespan / 60));
isset($seconds) and $seconds = $timespan;
unset($timespan, $time1, $time2);
$deny = array_flip(array('deny', 'key', 'difference', 'output'));
$difference = array();
foreach ($output as $key) {
if (isset($$key) AND ! isset($deny[$key])) {
$difference[$key] = $$key;
}
}
if (empty($difference))
return FALSE;
if (count($difference) === 1)
return current($difference);
return $difference;
}
6 — Покажите ваши записи из Twitter на своем блоге WordPress
Приведенный ниже код позволяет отобразить 5 последних записей из Twitter на вашем WordPress блоге с помощью интеграции RSS-ленты.
Данный код подходит только для англоязычных твиттов. Для того, чтобы кириллические твитты выводились правильно, используйте нижеследующий код:
items) && 0 != count($rss->items) ) {
?>
-
items = array_slice($rss->items, 0, 5);
foreach ($rss->items as $item ) {
?>
- '>