Cómo mostrar últimos tuits en tu página

Con los últimos cambios de la API de Twitter, en particular con la entrada de la versión 1.1 (la versión 1 se daba de baja el 30 de Mayo) muchos módulos que muestran en las páginas los últimos tuits de una cuenta han dejado de funcionar porque se ha modificado la forma de acceso y la seguridad. Ahora es necesario tener una serie de keys de la cuenta para poder mostrar el listado.

El método de recuperar los tuits también ha cambiado. En este caso explicaré el que he utilizado en varios proyectos mediante php.

Pero vamos por pasos. En primer lugar, creamos las credenciales necesarias:

Ahora vamos con el código en nuestra página:

En primer lugar necesitamos la librería oAuth en https://github.com/themattharris/tmhOAuth

Y el código php que tendremos que incluir en nuestra página:

  1. <?php
  2.     //Cargamos las dos clases que hemos descargado:
  3.     require_once(CLASSES_DIR . 'tmhOAuth/tmhOAuth.php');
  4.     require_once(CLASSES_DIR . 'tmhOAuth/tmhUtilities.php');
  5.  
  6.     //Definimos los valores que hemos conseguido previamente de dev.twitter.com
  7.     $tmhOAuth = new tmhOAuth
  8.     (
  9.         array
  10.         (
  11.             'consumer_key'    => 'XXXXXXXXXXXXXXXXXXXX',
  12.             'consumer_secret' => 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
  13.             'user_token'      => 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ',
  14.             'user_secret'     => 'TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT',
  15.         )
  16.     );
  17.  
  18.     //Creamos la llamada con los valores que queramos, en este caso queremos 3 últimos tuits del perfil 'miperfildetwitter'
  19.     $code = $tmhOAuth->request
  20.     (
  21.         'GET',
  22.         $tmhOAuth->url('1.1/statuses/user_timeline'),
  23.         array('screen_name' => 'miperfildetwitter', 'count' => 3)
  24.     );
  25.  
  26.     //Realizamos la llamada para obtener los tuits
  27.     $response = $tmhOAuth->response;
  28.     $tweets = json_decode($response['response'], true);
  29.  
  30.     //Creamos la expresión regular que nos modificará los enlaces dentro de los tuits:
  31.     $regExpUrl = '/(https?:\/\/(([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?))/';
  32.  
  33.     foreach ($tweets as $tweet)
  34.     {
  35.         //Modificamos el texto del tweet para que aparezcan los enlaces:
  36.         $tweet['text'] = preg_replace($regExpUrl, '<a href="$1" target="_blank">$1</a>', $tweet['text']);
  37.  
  38.         //Mostramos los tuits (en este caso como divs con imagen y texto) También se podría hacer com un listado, sin imagen, etc.
  39.         ?>
  40.         <div class="tweet">
  41.             <div class="tweet_image">
  42.                 <img src="<?php echo $tweet['user']['profile_image_url'] ?>" title="miperfildetwitter" alt="miperfildetwitter"></img>
  43.             </div>
  44.             <div class="tweet_text"><?php echo $tweet&#91;'text'] ?></div>
  45.         </div>
  46.     <?php
  47.     }
  48. ?>

Listo!!! ya podemos disfrutar de nuestros tuits incluidos en nuestro código dándoles el aspecto que prefiramos.

Fuentes:

Autor: Juan Castells

Compártelo!!


Una respuesta a “Cómo mostrar últimos tuits en tu página”

  1. Juan dice:

    Tras horas buscando, os dejo la forma más fácil que he encontrado para mostrar el timeline de un usuario:

    https://github.com/davidmigloz/Twitter-Timeline

    Es muy configurable en cuanto a la información que quieres mostrar y puedes personalizar fácilmente el código html que genera. Y además, está en español.

    Un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *