@@CLIMA@@

Actualizaciones automáticas de twitter oAuth

Jorge Martínez Mauricio

Desde hace un tiempo twitter anunció el cambio de autentificación para las actualizaciones de estado en su servicio. Si bien no parece muy complejo, la tarea de migrar puede ser un dolor de cabeza. En mi caso tengo un servicio en crontab que cada cierto tiempo verifica las noticias más leídas y comentadas de El Siglo de Torreón y las envía (siempre y cuando no hayan sido enviado previamente) a twitter. Pero el anuncio decía que después del 30 de junio ya no se podrían autentificar en forma plana, solo por medio de oAuth.

Sin más rollo, paso a explicar el proceso que seguí para cambiar de autentificación plana a oAuth en twitter, con PHP =mas=

1. Registrar una aplicación eso se hace entrando (estando identificado) en http://dev.twitter.com/apps y damos de alta una nueva aplicación, aquí lo único a resaltar es que el tipo de aplicación es “cliente” y no “browser” (dado que las actualizaciones se hacen desde consola en Linux, además hay que acceso de leer y escribir.

2. Vamos a descargar “@abraham's PHP twitteroauth Library”, descomprimimos y ponemos digamos en /home/twitter/

3. Hacemos un script de ejemplo:

<?php
require_once('/home/twitter/twitteroauth.php'); //o de donde lo hayamos descomprimido
define('CONSUMER_KEY', '');
define('CONSUMER_SECRET', '');
function getConnectionWithAccessToken($oauth_token, $oauth_token_secret) {
   $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret);
   return $connection;
}
function postit($msg) {
   if(empty($msg)) return;
   $connection = getConnectionWithAccessToken("OAUTH_TOKEN","OAUTH_TOKEN_SECRET");
   $resp  = $connection->post('statuses/update',array( 'status'=>$msg));
   print_r($resp);
}
postit("hola mundo cruel");
?>

Hay que definir CONSUMER_KEY y CONSUMER_SECRET, esos datos los obtenemos de la aplicación que creamos, entramos a “Application detail” y allí las tenemos y en el caso de OAUTH_TOKEN y OAUTH_TOKEN_SECRET las obtenemos de “My Access Token”.

Si todo salió bien, al ejecutar el script de ejemplo enviará una actualización que diga “hola mundo cruel”. Cabe resaltar que esto solo es adecuado para actualizaciones automáticas, porque funciona con un token único y si es una aplicación web lo ideal es seguir la documentación de twitteroauth donde dan ejemplos más detallados de su funcionalidad. Adicional a esto, hay bastante documentación oficial para la transición del servicio http://dev.twitter.com/pages/basic_to_oauth

Creo que es todo ;-)

Fotos más vistas en 15 días