Accediendo a la API cerrada de Tuenti
5 Marzo 2010 35 Comentario(s) ComentarNota: Tenía escrita esta entrada en borradores antes de que Tuenti lanzara su API de forma cerrada y orientada a empresas que adquieran una licencia, tal y como se puede leer hoy en Barrapunto.
Que no me guste Tuenti no significa que no me guste trastear con las API que ofrecen los distintos servicios web. Pero Tuenti, a día de hoy (más de cuatro años después de su lanzamiento), sigue sin contar con una API pública que permita a los programadores desarrollar aplicaciones para la red social. Supongo que son los intereses económicos los que fuerzan a que (casi) todo el tráfico pase por la web, y, por tanto, aparezcan los anuncios y eventos patrocinados que financian el chiringuito. Como digo, no hay disponible una API pública, pero sí cuentan con una privada que brinda el servicio a la aplicación de Tuenti para el iPhone lanzada recientemente.
Hace un tiempo, @adrinavarro mostró a un pequeño grupo de conocidos un paper. En dicho texto se explicaba muy por encima el modo de funcionamiento (obtenido mediante pruebas) de la citada API privada, pero con el inconveniente de que no se conocía cómo se enviaba la contraseña del usuario a la hora del login. Por tanto, nada se podía hacer con la API.
Por aburrimiento, recordé el texto y me puse con ello (al igual que más gente) hasta conseguir poder usar la API. En cuanto al inconveniente del login, no fue un gran problema, ya que me dio por probar un método que conocía de antes (es lo que tiene haber trasteado anteriormente con la web :D). Lo que sí me supuso un problema fue el tener que jugar a adivinar (literalmente) los nombre de los métodos al no disponer de un iPhone con el que realizar pruebas.
De todo esto ha salido una class en PHP (para variar) que programé para realizar pruebas. Dicha class permite loguearse en Tuenti a través de la API y hacer uso de todos los métodos conocidos de la misma. Con dichos métodos se puede cambiar el mensaje de estado, obtener los perfiles de amigos, obtener fotos de los álbumes, etc.
Por comodidad he subido la class a GitHub junto con una lista de los métodos disponibles. En dicha lista sólo están los nombres de los métodos, más que descriptivos. Tampoco es plan de documentar la API haciendo el trabajo de una empresa con la que no guardo ninguna relacion, como es Tuenti.
Actualizado el viernes 12 de marzo: Ya ha pasado una semana, pero quería comentar algunas cosas:
Para empezar, no esperaba la repercusión que todo esto ha tenido, llegando incluso a las portadas de menéame y Barrapunto. Además, ha aparecido en multitud de tweets y en un puñado más de sitios de Internet. Parece que el tema de la API interesa, pero Tuenti no dice nada al respecto.
He acabado documentando por encima los métodos, y aún tengo pendiente ampliar la lista de métodos/parámetros gracias a unos datos enviados por @YouWoTMA. Podéis echarle un ojo al wiki de GitHub.
También recordar que hice la class (o clase :P) simplemente para realizar pruebas, no pensada para un uso real. Si alguien desea realizar alguna aplicación utilizándola es libre para hacerlo, pero que recuerde las posibles consecuencias (por parte de Tuenti, evidentemente).
Un último apunte: en los comentarios de esta entrada hay una conversación empezada por zenitraM de cómo conectar al chat de Tuenti por medio de Jabber.
Creo que no olvido nada, sólo decir que muchas gracias a los que habéis leido, comentado, votado o promocionado esto. :)
