Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

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

  • Сторінка 1 з 1
  • 1
6 фрагментов кода PHP для взаимодействия с Twitter
m[R]inoДата: Понеділок, 30.05.2011, 17:08 | Сообщение # 1



m[R]ino
Центурион
Группа: Пользователи
Сообщений: 388

Замечания:

Оффлайн
Вступление :
Если вам интересно привлечь больше посетителей на ваш сайт и увеличить трафик, то следует подумать о том, чтобы интегрировать функционал Twitter на свои страницы. В данном уроке представлены несколько фрагментов кода PHP для взаимодействия с Twitter.
1. Получаем количество последователей в Twitter.
Code
1    function get_followers($twitter_id){
2     $xml=file_get_contents('http://twitter.com/users/show.xml?screen_name='.$twitter_id);
3     if (preg_match('/followers_count>(.*)</',$xml,$match)!=0) {
4         $tw['count'] = $match[1];
5     }
6   
7     return $tw['count'];
8    }

Вот как использовать ее в коде страницы:
Code
1    $nb =  get_followers('phpsnippets');
2    echo "За фрагментами PHP кода следят уже ".$nb." человек!";


2. Получаем последний статус Twitter

С помощью PHP и cURL очень просто получить статус определенного пользователя. Как только он у вас есть, его можно показать в блоге.
Code
01    function get_status($twitter_id, $hyperlinks = true) {
02     $c = curl_init();
03     curl_setopt($c, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/$twitter_id.xml?count=1");
04     curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
05     $src = curl_exec($c);
06     curl_close($c);
07     preg_match('/<text>(.*)<\/text>/', $src, $m);
08     $status = htmlentities($m[1]);
09     if( $hyperlinks ) $status = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", '<a href="%5C%22%5C%5C0%5C%22">\\0</a>', $status);
10     return($status);
11    }

Пользоваться данной функцией тоже очень просто:
Code
1    echo get_status('catswhocode');

3. Получаем статус без проблем с кодировкой

А вот что нужно делать, чтобы избежать проблем с кодировкой пробелов и специальных символов при выводе последнего статуса.
Code
1    <a href="http://twitter.com?status=@catswhocode Привет! Как дела?">Чирик!</a>
Все очень просто: вместо ссылки на http://www.twitter.com используем http://twitter.com (без www).


4. Получаем количество переносов заметки для определенной страницы

Многие блогеры используют виджет Tweetmeme для вывода количества переносов заметки. Но на сайте Tweetmeme есть API, с помощью которой вы можете получить количество переносов определенного адреса URL. Следующая функция получает количество повторных заметок Twitter в которых адрес URL был передан как параметр:
Code
01    function tweetCount($url) {
02     $content = file_get_contents("http://api.tweetmeme.com/url_info?url=".$url);
03     $element = new SimpleXmlElement($content);
04     $retweets = $element->story->url_count;
05     if($retweets){
06         return $retweets;
07     } else {
08         return 0;
09     }
10    }

Пример использования функции:
Code
1    echo tweetCount('http://www.catswhocode.com');


5. Проверяем отношения между двумя пользователями

Если вы хотите знать, следит ли определенный пользователь за вашими заметками (или за чьими-то другими), можно использовать API Twitter. Ниже приведенный фрагмент кода выводит true, если два пользователя, определенные на строке 18 и 19, являются друзьями в системе.
Code
01    /* Делаем запрос */
02    function make_request($url) {
03     $ch = curl_init();
04     curl_setopt($ch,CURLOPT_URL,$url);
05     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
06     $result = curl_exec($ch);
07     curl_close($ch);
08     return $result;
09    }
10   
11    /* Проверяем соответствие */
12    function get_match($regex,$content) {
13     preg_match($regex,$content,$matches);
14     return $matches[1];
15    }
16   
17    /* Персоны для проверки */
18    $person1 = 'phpsnippets';
19    $person2 = 'catswhocode';
20   
21    /* Оправляем запрос на Twitter */
22    $url = 'https://api.twitter.com/1/friendships/exist';
23    $format = 'xml';
24   
25    /* Проверяем */
26    $persons12 = make_request($url.'.'.$format.'?user_a='.$person1.'&user_b='.$person2);
27    $result = get_match('/<friends>(.*)<\/friends>/isU',$persons12);
28    echo $result; // Возвращаем "true" или "false"

6. Укорачиваем URL для Twitter

Если вы пользователь Twitter, то наверняка знаете, что размещать заметки длиннее 140 символов нельзя. Чтобы обойти данную проблему нужно воспользоваться укорачивателем адреса URL. В Internet можно найти большое количество самых разных укорачивателей URL. TinyUrl.com является одним из них. Он не делает самый короткий URL, но его большим плюсом является отсутствие требования наличия регистрации для использования в PHP коде.

Следующая функция получает длинный адрес URL и возвращает короткий, используя укорачиватель TinyUrl.
Code
1    function getTinyUrl($url) {
2     return file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
3    }

Или другой вариант. Ниже приведен код функции, которая использует сервис bit.ly для укорачивания адресов URL:
Code
01    function bitly($url) {
02     $content = file_get_contents("http://api.bit.ly/v3/shorten?login=YOURLOGIN&apiKey=YOURAPIKEY&longUrl=".$url."&format=xml");
03     $element = new SimpleXmlElement($content);
04     $bitly = $element->data->url;
05     if($bitly){
06         return $bitly;
07     } else {
08         return '0';
09     }
10    }


Источник урока: http://www.catswhocode.com/blog/php-snippets-to-interact-with-twitter
 
booyoodsДата: Понеділок, 30.05.2011, 17:57 | Сообщение # 2



booyoods
Старший Маршал
Группа: V.I.P
Сообщений: 1333

Замечания:

Оффлайн
Норм но я не пользуюсь не контактом не facebook




Сообщение отредактировал booyoods - Понеділок, 30.05.2011, 17:58
 
m[R]inoДата: Понеділок, 30.05.2011, 18:03 | Сообщение # 3



m[R]ino
Центурион
Группа: Пользователи
Сообщений: 388

Замечания:

Оффлайн
booyoods, ну тут моно всадить любую соц сеть,просто в данном уроке был твиттер заюзан ,веть сейчас все соц сети Юзять OPEN API ,а это значит что что можно конкретно интегрировать их к себе на сайт .вот в чем смысл ,и еще тема в привличении народа,это по типу када контакт расшарил себя по сайтам ) в виде виджетов.
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
[Гайд] - Ездовые животные · (Гайды по WoW)
Автор: Darkensand
Последнее сообщение в 12:59
▃ ▅ █ STRIKE-DEATH | WOTL... · (Обычные сервера WoW)
Автор: Pensukdeath
Последнее сообщение в 05:18
Уход и забота за воинами: прок... · (Воин)
Автор: UncontesteD
Последнее сообщение в 17:34
Очень хороший зароботок!!! · (Флудилка)
Автор: Hordcore
Последнее сообщение в 12:57
Основы Sql · (Sql)
Автор: No-One
Последнее сообщение в 01:45
Баг на 30к крита 5.4.8 · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:46
Баг на дамаг · (Баги WoW)
Автор: nikitadevil
Последнее сообщение в 18:44
Неуязвимость · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:43
Бесконечный сокет · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:42
Баг на ледянные баджи на uwow · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:31
Новейший баг на дамаг ханта · (Баги WoW)
Автор: Act1mel
Последнее сообщение в 18:23
[БАГ] + к Урону для всех класс... · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:22
Ретро паладин 4.3 · (Паладин)
Автор: Darkensand
Последнее сообщение в 02:05
Hellscream.ORG - Азиатский WoW... · (Обычные сервера WoW)
Автор: Alexstrasza007
Последнее сообщение в 10:30

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2026 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz