Metadatos en Twitter con Rest API 1.1

Muchas veces no nos damos cuenta de la cantidad de datos que ofrecemos en la redes sociales cada vez que publicamos alguna nueva entrada. ¿Qué pasaría si accediéramos a la base de datos que utiliza cualquiera de estas redes sociales? Además de la información que vemos , ¿qué otra información guardan?

Vamos a ver que información obtenemos haciendo uso de la REST API 1.1 de Twitter que utilizan los desarrolladores de apps móviles (entre otros) para hacer peticiones al servidor y recuperar toda la información de usuarios, tweets, imágenes, etc. Aquí tenéis el enlace dentro de su sitio Web (https://dev.twitter.com).

¿Qué es REST? 

Es una arquitectura basada en el estándar HTTP y que nos permite crear servicios que pueden ser utilizadas por cualquier dispositivo cuyo cliente pueda trabajar con HTTP. Esto nos permite ofrecer un servicio Web accesible desde cualquier apps que entienda el protocolo HTTP, independientemente del sistema operativo en el que nos encontremos.

REST API 1.1 Twitter

Concretamente la tecnología que utiliza Twitter es precisamente la comentada anteriormente. Han creado para ello una API, actualmente la versión la versión 1.1, donde nos permite hacer uso de su servicio Web para acceder a los datos de su servidor. En esta versión 1.1 es necesario realizar las peticiones al servicio REST con alguno de los mecanismos de autenticación disponibles  (https://dev.twitter.com/docs/auth). 

Accediendo a la consola

Nosotros vamos a hacer peticiones a su servicio REST por medio de su consola (https://dev.twitter.com/console). 

01apiConsole

Consola de la REST Api de Twitter

Vamos a usar el método de autenticación OAuth, para lo cual debemos loguearnos con nuestro usuario y contraseña de Twitter y autorizar la aplicación de consola a utilizar como vemos en las siguientes imágenes.

01apiConsoleOAuth

Métodos de Autenticación para el uso de la REST Api 1.1

04apiOauth

Autorización de la consola

 

Consultas desde la consola

Ahora ya tenemos todo preparado para hacer consultas al servicio REST haciendo uso de la API 1.1 de Twitter. Debemos tener en cuenta que la contestación de las respuestas se lleva a cabo en formato JSON. Vamos a ver cuales son las posibilidades que tenemos accediendo a la documentación de la misma (https://dev.twitter.com/docs/api/1.1)

Ej.1 – Buscando tweets de una cuenta.

Vamos a averiguar que software ha creado ese tweet: Android, IOS, Paper.li, Buffer, Tweet Old Post… y la cuenta que lo ha creado, junto con su id.

Ejecutamos para ello la siguiente URI:

https://api.twitter.com/1.1/search/tweets.json?q=@hacking_etico y buscamos dentro de sus resultados en formato JSON la caracterítica source de cada uno de los tweets. El resultado lo podemos ver a continuación.

ej1-consola

Usuario que usa Twitter desde Android

ej1-consola2

Usuario que usa Twitter desde iPhone

 

Ej.2 – Buscando tweets en un lugar geolocalizable.

Vamos a dar unas coordenadas que podemos averiguar de Google Maps con un radio de acción de 1km y una palabra de búsqueda. 

Ejecutamos para ello la siguiente URI:

https://api.twitter.com/1.1/search/tweets.json?q=ccf&geocode=37.872371,-4.764628300000027,1km donde las coordenadas que hemos dado son las del estadio del Córdoba CF y la palabra de búsqueda es CCF. El resultado sería el siguiente:

ej2-consola

Búsqueda de tweet geolocalizable.

ej2-consola2

Tweet encontrado en coordenadas dadas.

 Conclusiones

Esta es alguna de la metainformación que podemos manejar en Twitter para obtener interesantes búsquedas, todo ello manejando sus datos como si de una consulta en una BBDD se tratase. Existen muchas otras posibilidades dentro de la API 1.1 que seguro o serán muy interesantes: filtros de fechas, relación entre usuarios, geolocalización inversa, búsqueda de lugares, búsqueda de tweets por ip, etc.

Un handshake para todos !! @eduSatoe

 “Nunca darse por vencido. Nunca aparentar.

Nunca mantenerse inmóvil. Nunca aferrarse al pasado.

Nunca dejar de soñar

Steve Jobs