6 фрагментов PHP-кода для взаимодействия с Twitter

Ниже представлены несколько фрагментов код на PHP, которые позволяют взаимодействовать с популярной системой микроблоггинга — Twitter.

  1. Автофолловинг в Twitter средствами PHP.
  2. Покажите количество фолловеров.
  3. Отобразите Ваш последний статус в Twitter.
  4. Граббер e-mail адресов из Twitter.
  5. Функция таймлайн.
  6. Покажите ваши записи из Twitter на своем блоге WordPress.


Оригинал статьи на сайте Cats Who Code.com. Я выбрал только те функции, которые мне были интересны.

1 — Скрипт автофолловинга (PHP)

Данный фрагмент кода позволяет вам автоматически фолловить пользователей, которые пишут в Twitter на определенную тему. Например, если вы хотите следить за пользователями, пишущими на тему PHP — просто введите это слово в значение переменной $term на строке 7.

Как использовать скрипт
1. Укажите нужные значения:
$user — укажите ваше имя пользователя в Twitter
$pass — укажите ваш пароль в Twitter
$term — укажите интересующую вас тему
2. Вставьте скрипт в файл *.php и загрузите файл на сервер.
3. Запустите скрипт из браузера через адресную строку.

Будьте осторожны — за массфолловинг ваш аккаунт может быть заблокирован администрацией Twitter!

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 — отличным решением является демонстрация количества своих фолловеров. Для того, чтобы это сделать — используйте вот такой короткий код:

(.*)

Для вывода количества своих фолловеров, необходимо заменить Proofsite на свое имя в Twitter.

3 — Отобразите Ваш последний статус в Twitter (PHP)

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

Для вывода ваших статусов, 82862879 необходимо заменить на ваш Twitter ID.

Как узнать свой 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-ленты.


Для вывода ваших статусов, 82862879 необходимо заменить на ваш Twitter ID.

Данный код подходит только для англоязычных твиттов. Для того, чтобы кириллические твитты выводились правильно, используйте нижеследующий код:

items) && 0 != count($rss->items) ) {
?>
    items = array_slice($rss->items, 0, 5); foreach ($rss->items as $item ) { ?>
  • '>

19 комментариев к “6 фрагментов PHP-кода для взаимодействия с Twitter”

  1. @LaRRiKin, большое спасибо, что указали на ошибку!
    Все исправлено — к сожалению, это известная проблема со вставкой кода в WordPress и работой с визуальным редактором. Пока что не нашел как ее побороть.

    Не знаете, случайно, есть ли какой-либо плагин для адекватной работы с кодом так, чтобы он не вычищался WYSIWYG?

    ОтветитьОтветить
  2. Слушай а как у тебя здесь что за код? А то у меня чет фигово получается

    ОтветитьОтветить
  3. Сорри. Был на своей волне. Сейчас прочитал свой вопрос и вижу что не понятно :)

    Я имел ввиду трансляцию постов из твитера на сайт. У тебя симпатичный в сайдбаре. Что за код? Можешь поделиться?

    ОтветитьОтветить
  4. Спасибо за представленные скрипты. Проще конечно использовать ещё и плагины для WordPress блогов. Вот например такой: WP FollowMe :)

    ОтветитьОтветить
  5. @Руслан Белов, если мы говорим о фолловинге в Twitter, то приведенный выше скрипт позволяет произвести набор фолловеров автоматически по заданной теме, а WP FollowMe — просто предоставление пользователям возможности Вас зафолловить.
    Так что тут скорее не «проще — сложнее», а задачи совершенно разные :)

    ОтветитьОтветить
  6. Ясно. Я то просто с PHP не очень, так вот и написал, что установил плагин и всё готово. Да, а что за плагин или скрипт, который сейчас сработал и отослал мне сообщение с Вашим комментарием. Очень полезная штука. Хочу у себя тоже такую установить.

    ОтветитьОтветить
  7. @Руслан Белов, а это скрипт, который работает совершенно автономно от WordPress. То есть, его нужно просто залить на сервер и запустить через адресную строку браузера. И все.

    Это плагин, который называется Comment Notifier.

    Альтернативой ему может быть Gurken Subscribe to comments.

    ОтветитьОтветить
  8. Свой ID в Twitter можно узнать также просто в выдаче XML по ссылке twitter.com/users/show.xml?screen_name=m_shevtsov (заменив свой логин, конечно)

    ОтветитьОтветить
  9. Спасибо за подробные объяснения. Отличная альтернатива плагинам, тормозящим сайт

    ОтветитьОтветить
  10. Отличная подборка кодов. Как раз для меня, люблю работать ручками и ковыряться в коде. Добавил Ваш блог в закладки.

    ОтветитьОтветить
  11. Интересные способы! Можно было бы еще автоматизировать анонсирование поста во все блоги по средством php кода… Знаю что есть специальные плагины, платные. А вот коды на счет соц сетей первый раз встретил на вашем сайте

    ОтветитьОтветить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.