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.
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.
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)
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.
Luego, id hasta Details y pinchad en «Create my access token»
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).
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 ;)
¿Opiniones, dudas? Cuéntame…