Empezando con la REST API de Twitter

En esta entrada vamos a empezar a jugar con la REST API de Twitter, vamos a aprender como hacer peticiones a Twitter para obtener lo que nos interese haciendo uso de algunas funcionalidades de la API. Todas las aplicaciones que encontramos por Internet sobre análisis de usuarios, de hashtags, etc, hacen peticiones a Twitter para obtener los datos que el usuario final pide.

Las REST APIs se basan en peticiones HTTP con respuestas en diferentes formatos (JSON o XML por citar lo más comunes).

Podemos dividir el proceso en seis pasos diferentes:

  1. Crear una cuenta en Twitter si no la tenemos.
  2. Crear la estructura de la aplicación que subiremos al servidor.
  3. Crear la aplicación en el apartado de desarrolladores de Twitter.
  4. Realizar la autenticación con OAuth.
  5. Realizar la petición a la API.
  6. Procesar el resultado.

Una vez tenemos creada la cuenta en Twitter tenemos que tener claro que todas las peticiones a la API de Twitter requieren autenticación con OAuth, los ejemplos que aquí voy a exponer son integramente en PHP por lo que tenemos que descargar la librería Twitteroauth de Abraham.

Una vez hemos descargado la librería tenemos que crear la estructura que subiremos al servidor, en mi caso he renombrado la carpeta que contenía el ZIP a lib-oauth y creado un index.php que será donde haga las peticiones para el ejemplo, todo ello estará dentro de una carpeta llamada twitter que estará en el servidor.

estructura-api-twitter

Una vez creada la estructura que luego subiremos al servidor ahora viene el paso de hacer login en la web para desarrolladores de Twitter, tenemos que hacer login y luego ir al apartado de My applications.

my-applications-twitter

Posteriormente se nos pedirá a través de un formulario los datos de nuestra aplicación, a destacar la URL de callback, deberá ser la ubicación de nuestro archivo callback.php dentro de la librería que anteriormente habíamos descargado.

new-application

Además se nos pedirá aceptar los términos legales y rellenar un captcha.

Una vez hecho y aceptado el formulario se nos lleva a la página de información de nuestra nueva aplicación donde podemos al mismo tiempo crear el token de acceso para nuestra aplicación.

web-application2

Creamos el token de acceso con el botón correspondiente y nos lo genera.

Con estos datos ahora tenemos que configurar la librería. Renombramos config-sample.php a config.php y editamos el fichero teniendo que sustituir las cadenas que aparecen por los datos obtenidos de Twitter.

define('CONSUMER_KEY', 'CONSUMER_KEY_HERE');
define('CONSUMER_SECRET', 'CONSUMER_SECRET_HERE');
define('OAUTH_CALLBACK', 'http://example.com/twitteroauth/callback.php');

Ahora viene la parte divertida, que es en la que hacemos peticiones a la API de Twitter, en la documentación se pueden ver todas las peticiones que se pueden hacer, con los parámetros que acepta la URL y el formato de retorno.

Yo he elegido para el ejemplo la petición de las últimas menciones a mi usuario.

El código del index.php de la estructura de datos que hemos creado antes quedaría algo así:

// Requerimos los archivos de la libreria
require_once('lib-oauth/twitteroauth/twitteroauth.php');
require_once('lib-oauth/config.php');

// Configuramos el token de acceso
$access_token = '69027717-LpCNpxiLm1630vtcXkxyKjINrjRlGHnzRz251rTZR';
$access_token_secret = 'RELLENAR CORRECTAMENTE';

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token, $access_token_secret);

$response = $connection->get('statuses/mentions_timeline', array('count' => 10));
if ($response) {
	// La respuesta se hace en formato JSON, pero la libreria nos crea una stdClass
	foreach ($response as $tweet) {
		echo utf8_decode($tweet->text);
		echo ' by ';
		echo utf8_decode($tweet->user->name);
		echo '<br/>';
	}
} else {
	echo 'No se han podido recuperar los Tweets';
}

Este pequeño trozo de código haría una petición de las últimas 10 menciones a @jialberola, el resultado lo podéis ver aquí.

¿Os hacéis una idea de lo que hay por detrás de aplicaciones para Twitter?

Hay muchísimas maneras de hacer peticiones a Twitter, todas ellas explicadas en la documentación enlazada más arriba.

Profundizaré más en el tema con el tiempo y explicaré lo que descubra :).

Espero que os haya resultado cuanto menos curioso, y si encima os ha resultado útil más contento que me quedo.

Recursos:

(Visited 1.923 times, 1 visits today)

You might also like

1 Comment

Leave a Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.