Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Выводим список твитов любого пользователя Twitter 
#1 

Аватар пользователя

Всем доброго времени суток и сегодня мы будем делать блок на форуме с твитами любого пользователя Twitter. В данной статье я покажу способ получения и вывод, но без украшательств, это уже на вашей совести :-00):

Как обычно, мы подразумеваем, что изначально вы получили все ключи Twitter и, разумеется знаете айди нужного пользователя данной социальной сети. Посему приступаем к правкам и открываем корневой index.php и находим
// Output page
page_header();
 

Вставляем перед найденным
         $twitter_timeline = 'statuses/user_timeline';
         $request = array(
            'screen_name'         => 'BarkovskiisD',
            'count'             => 15,
            'contributor_details'    => 'true',
            'trim_user'            => 'true',
         );
         $twit_index = returnTweet($twitter_timeline, $request);
         
         for ($c = 0; $c <= 15, !empty($twit_index[$c]); $c++)
         {
            $twit_post = $twit_index[$c]['text'];
            $id_post = $twit_index[$c]['id'];
            $template->assign_block_vars('twit_i', array(
               'TWIT_POST'      => $twit_post,
               'ID_POST'      => $id_post,
            ));   
         }
   
 function buildBaseString($baseURI, $method, $params)
   {
      $r = array();
      ksort($params);
      foreach($params as $key=>$value)
      {
         $r[] = "$key=" . rawurlencode($value);
      }
      return $method."&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $r));
   }

    function buildAuthorizationHeader($oauth)
   {
      $r = 'Authorization: OAuth ';
      $values = array();
      foreach($oauth as $key=>$value)
        $values[] = "$key=\"" . rawurlencode($value) . "\"";
      $r .= implode(', ', $values);
      return $r;
   }
 function returnTweet($twitter_timeline, $request)
   {
      $oauth_access_token         = 'ключ';
      $oauth_access_token_secret  = 'ключ';
      $consumer_key               = 'ключ';
      $consumer_secret            = 'ключ';     

      $oauth = array(
         'oauth_consumer_key'        => $consumer_key,
         'oauth_nonce'               => time(),
         'oauth_signature_method'    => 'HMAC-SHA1',
         'oauth_token'               => $oauth_access_token,
         'oauth_timestamp'           => time(),
         'oauth_version'             => '1.0'
      );

        $oauth = array_merge($oauth, $request);

        $base_info                   = buildBaseString("https://api.twitter.com/1.1/$twitter_timeline.json", 'GET', $oauth);
        $composite_key              = rawurlencode($consumer_secret) . '&' . rawurlencode($oauth_access_token_secret);
        $oauth_signature            = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true));
        $oauth['oauth_signature']   = $oauth_signature;

        $header = array(buildAuthorizationHeader($oauth), 'Expect:');
        $options = array( CURLOPT_HTTPHEADER => $header,
                          CURLOPT_HEADER => false,
                          CURLOPT_URL => "https://api.twitter.com/1.1/$twitter_timeline.json?". http_build_query($request),
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_SSL_VERIFYPEER => false);

        $feed = curl_init();
        curl_setopt_array($feed, $options);
        $json = curl_exec($feed);
        curl_close($feed);

      return json_decode($json, true);
   }
 

Тут будьте предельно внимательны, требуется ручное прописывание нужных параметров, а именно
  • 'screen_name'         => 'BarkovskiisD',
     

    Тут прописываете айди нужного пользователя вместо BarkovskiisD
  • 'count'             => 15,
     

    $c <= 15
     

    Это количество выводимых твитов
  • $oauth_access_token         = 'ключ';
          $oauth_access_token_secret  = 'ключ';
          $consumer_key               = 'ключ';
          $consumer_secret            = 'ключ';
     

    Тут вписываете ранее полученные ключи доступа
И, далее, в шаблоне index_body.html используете такую конструкцию для вывода
<!-- BEGIN twit_i -->
            
            <a href="https://twitter.com/тут айди пользователя/status/{twit_i.ID_POST}">{twit_i.TWIT_POST}</a>
            
<!-- BEGINELSE -->
            тут надпись на случай если нет записей у пользователя
<!-- END twit_i -->
 


Все это без HTML разметки, ее вы подгоняете индивидуально под свой стиль, моя задача была лишь описать сам способ получения и вывода информации из Твиттера, дерзайте :-0=)

ЗЫ. Вот так себе я оформил данный блок
Вложение :



_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля Ссылка на список тем пользователя в его профиле
Редактирование статистики пользователя в профиле

watcher

3

106

Аватар пользователя

21 мар 2017, 09:48

DeaDRoMeO

Аватар пользователя Как получить ключи Twitter ???
Получаем ключи Twitter для дальнейших доработок

DeaDRoMeO

0

167

Аватар пользователя

17 фев 2017, 18:27

DeaDRoMeO

Аватар пользователя Обама заспамил Twitter

Suits

5

463

Аватар пользователя

14 фев 2012, 22:17

DeaDRoMeO

Аватар пользователя Список IP в memberlist

index-07

3

325

Аватар пользователя

25 окт 2012, 21:33

DeaDRoMeO

Аватар пользователя Список ползователей

index-07

11

366

Аватар пользователя

24 июн 2013, 10:22

Руська

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P