El rincón de escribir

Publicado el

por


Cómo seguir Twitter vía RSS usando la v1.1 de su API (tras la supresión de la v1)

Desde el pasado 11 de junio, Twitter dejó fuera de servicio la primera versión de su API, eliminando, a consecuencia, todos los RSS de búsquedas, favoritos, timelines y demás que, hasta entonces, tenían a bien compartir sin mucho control, de manera que con una llamada sencilla se podían cargar en los distintos agregadores de noticias los tuits de cualquier usuario sin necesidad de pasar por la red social.

Captura de pantalla de mis favoritos de Twitter cargados en un agregador

Si yo hubiera sido una desarrolladora de aplicaciones que se nutrieran de Twitter, quizá me hubiera enterado hace meses (o hace un año) de que la v1 de la API de la compañía del pajarito iba a desaparecer y hubiera hecho esto antes. En lugar de eso, era feliz en mi ignorancia y, lógicamente, hasta que no se cerró el grifo, no me percaté de que los métodos derivados de la v1 ya no servían.

Como sea, muchas funcionalidades de la anterior versión se han perdido y otras han evolucionado. Entre las perdidas, está la opción de seguir Twitter vía RSS así a las bravas. Ahora, tenemos que ser más refinados y pasar por el filtro y los permisos de la propia red social. Ahora… es todo algo más complicado y, por lo tanto, en principio este «tutorial» no es para dummies totales, ya que algo de desarrollo web hay que saber.

Para conseguir tener de nuevo un RSS de Twitter, vamos a tener que construir nuestro propio feed y, para esto, necesitaremos:

  • Nuestro propio alojamiento con soporte PHP (un espacio web que acepte el uso de PHP)
  • Nuestras propias credenciales de desarrollador de Twitter (suena grandilocuente, pero ya veréis que no es para tanto)
  • Visitar el blog original del que he sacado esta información para descargar los archivos, ya que todo el mérito es suyo y yo sólo os lo brindo en español y con un par de pinceladas extra
  • Y saber inglés o, al menos, manejarse…

Alojamiento PHP

Si no tenéis web alguna que aprovechar, una simple búsqueda en Google os devolverá variados resultados sobre servicios de hosting (o alojamiento web) que gratuitamente os proporcionen soporte para el lenguaje PHP. Haceos con una cuenta en el que más os guste y conseguid vuestro acceso FTP porque al final necesitaréis subir una serie de archivos que son los que os van a crear vuestro propio feed.

Credenciales de Twitter

Debéis acudir a la web de desarrolladores de Twitter, de la cual ya he hablado en otras ocasiones en el blog, y acceder con vuestros datos normales de usuario de la red social.

Captura de pantalla del botón para crear nueva aplicación

Una vez dentro, pinchad en el botón azul que dice «Create a new application» que os llevará a una página en la que os requerirán los datos de la aplicación. Los marcados con asterisco rojo son… obligatorios, pero os recomiendo rellenarlos todos y, no os preocupéis, después se pueden editar:

  • Name (nombre de la supuesta aplicación, tened inventiva porque es como las direcciones de correo electrónico y, si está repetido, tendréis que elegir otro)
  • Description (descripción, por ejemplo, para insertar mis favoritos en un lector de feeds)
  • Website (Twitter recomienda que sea una web que explique para qué sirve la app que creáis, pero como esto es un poco de mentirijillas, poned una vuestra o la del alojamiento PHP que hayáis conseguido)
  • Callback URL (usad la futura ruta donde vayáis a cargar los archivos necesarios para que este tinglado funcione, por ej: http://miweb.com/twitter/rss.php)
Captura de la pantalla para dar de alta nuestra app

Aceptad los términos y condiciones en el «Yes, I agree«, resolved el captcha pertinente y presionar el botón «Create your Twitter application«.

Una vez «creada» la aplicación se cargará el site de la misma. Navegad hasta la pestaña de Settings y seleccionar el modo sólo lectura (Read only) si no está por defecto.

Captura de pantalla de la opción de "Sólo lectura"

Luego, id hasta Details y pinchad en «Create my access token»

Captura de pantalla del botón para crear las credenciales oAuth

Seréis redirigidos a una página con una serie de códigos alfanuméricos. Copiad/Anotad los valores de los siguientes campos:

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

Descargar archivos

Ahora tenéis que pasar por el post original que nos proporciona los documentos para acabar de crear nuestra aplicación porque, insisto, todo el crédito es suyo y de sus fuentes, yo sólo lo adapto y al final os explicaré un par de cosillas extra. Seguid este enlace: Creating an RSS feed for your Twitter home page y descargad los archivos del link del tercer párrafo (adjunto captura para que lo veáis más claro).

Captura de pantalla de parte del artículo del blog original

Una vez los tengáis en vuestro ordenador, tendréis que descomprimir el zip y buscar en la carpeta keys el archivo personal_keys.php para abrirlo y cambiar los valores falsos con las credenciales que antes habíais obtenido, incluyendo, en el dominio ($my_domain), la ruta aquella que pusisteis en el Callback URL, que será la misma a la que subiréis después los archivos.

Saber inglés

A estas alturas, me supongo que ya os habréis percatado del porqué. No es sólo que muchos hostings web estén en inglés, o que el blog de este muchacho sea en ese idioma, sino que la web para desarrolladores de Twitter sólo está disponible en Inglés o Japonés.

Últimos pasos

Nos quedamos en que teníais los archivos en vuestro PC. Pues ahora hay que cargarlos en el alojamiento con PHP y comprobar en cualquier navegador que el invento funciona. Recordad que la ruta debe ser la del Callback URL, algo como: http://miweb.com/twitter/rss.php

Si todo va bien, deberíais ver los últimos 50 tuits de vuestro timeline normal, con toda la gente a la que seguís. Esa misma URL es la que podéis agregar a vuestro lector preferido de RSS.

Más opciones

Localizad en vuestro ordenador entre los archivos descargados, abrid rss.php y buscad (de la línea 125 en adelante) las siguientes líneas de código:

$code = $tmhOAuth->request(
    ‘GET’,
         $tmhOAuth->url(‘1.1/statuses/home_timeline’),
         array(
         ‘include_entities’ => true,
         ‘count’ => 50,
    )
  );

Si lo que queréis cargar son vuestros propios tuits, donde pone $tmhOAuth->url(‘1.1/statuses/home_timeline’), poned $tmhOAuth->url(‘1.1/statuses/user_timeline’), es decir, cambiad home por user. Vigilad comas y paréntesis si borráis la línea antera.

Si lo que preferís, como en mi caso, es ver los tuits que marcáis como favoritos, la misma línea cambiadla completa por $tmhOAuth->url(‘1.1/favorites/list’),

Para cargar más o menos de 50 tuits, variad el número de ‘count’ => 50, siempre teniendo en cuenta que las peticiones que hagáis son limitadas y, en algún momento, si cargáis muchos, os pueden denegar el servicio (temporalmente, imagino).

Ya, si leéis por encima todo el código de ese mismo archivo, seguro que encontráis la forma de cambiar el nombre del feed resultante y, si vosotros mismos sois programadores, imagino que mil cosas más. Dudas y comentarios, si tenéis, aquí debajo, gracias ;)

Comentarios

9 respuestas a «Cómo seguir Twitter vía RSS usando la v1.1 de su API (tras la supresión de la v1)»

  1. Si la solución propuesta no os sirve, dejo esta otra por aquí hasta que tenga tiempo de probarla: http://goo.gl/NWNFZ [artículo en inglés]. En principio parece más sencilla ya que no necesita un alojamiento con php (se sirve de Google Drive).

  2. Gracias.. y como puedo hacer ahora una rss de una busqueda de Twitter?
    USando estas tecnicas:
    http://brunogebarski.com/2013/04/15/11-ways-to-generate-twitter-rss-feeds-for-the-reader-of-your-choice/

    Me sale este mensaje:
    The Twitter REST API v1 is no longer active. Please migrate to API v1.1.

    1. Eso es porque las llamadas que se usan hacen referencia a la v.1 y Twitter exige ahora la v.1.1. Imagino que en el ejemplo que yo utilizo habría que jugar con algo como «1.1/search/tweets» … pero no me he parado a mirarlo, así que más sencillo será que pruebes a seguir los pasos del enlace indicado en el primer comentario o este otro link que usa el mismo script, si bien lo explican en español: http://goo.gl/yjj9M

  3. Buenas tardes!!
    Madre mia, mil gracias por subir esto !!
    Me ha ido perfectamente, y es una pasada, ahora puedo leer blogs y twitter en el mismo sitio. Gran avance, y no sabes cuánto te lo agradezco !
    Mil gracias !!

    1. Gracias a ti por el comentario. Me alegro de que funcione bien, yo también lo estoy usando y por ahora no he tenido problemas :)

  4. Muchísimas gracias por el aporte. Me sirvió muchísimo. Hacía varios días que no lograba mostrar los twitts con el API.

    1. Me alegro de que te sirviera, espero que ya se muestren tus tuits ^_^

  5. VR1387

    Amigo como hago paraque esto se vea en unapagina web? Ordenado claro esta

    1. Buenas. La opción más sencilla para mostrar tuits y favoritos en una web es utilizando los propios recursos que ofrece Twitter https://twitter.com/settings/widgets (tienes que acceder con tu cuenta y configurarlos en esa dirección).

      La opción que se comenta en esta entrada es para poder leer los tuits en un agregador de contenido que no te facilite esa posibilidad, cosa rara últimamente porque ya se han ido poniendo todos al día y, por ejemplo, Flipboard (si no estoy confundida) te deja ver tu timeline sin hacer nada de esto.

      ¡Suerte!

¿Opiniones, dudas? Cuéntame…

This site uses Akismet to reduce spam. Learn how your comment data is processed.