Actualizaciones automáticas de twitter oAuth

Escrito por Jorge Martínez Mauricio el viernes 25 de junio, 2010 - 19:57 en Aplicaciones

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

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 ;-)


Este post ha sido 3484 veces visto.

4 comentarios de "Actualizaciones automáticas de twitter oAuth"

#1 Luis Alberto escribió: 09/sep/2010

Hermano, muy útil tu información: me consto conseguir “My Access Token” pero les dejo como dato que pueden hacerlo en:

http://dev.twitter.com/apps/XXXXXX/my_token donde XXXXXX = es el número de identificación de tu APPS

#2 Freddy escribió: 09/sep/2010

tengo ese mismo problema. hice una aplicacion para una emisora de radio que postea automaticamente la programacion en el twitter y con el cambio de autentificacion dejo de funcionar. he estado leyendo mucho en los ultimos dias sobre oauth para ponerme a programar y cambiar la autentificacion. voy a probar esto amigo y si funciona me has salvado la vida ya que tengo a los de la emisora de radio atras de mi pidiendome que acomode la aplicacion. uso cronjob tambien para actualizar asi que no deberia tener problemas. bueno amigo gracias y saludos desde venezuela

#3 Freddy escribió: 09/sep/2010

ya pude correr mi aplicacion nuevamente pero con un problema (bueno lo que me he dado cuenta hasta ahora) cuando los updates poseen acentos da este error

stdClass Object

(

[request] => /1/statuses/update.json

[error] => Incorrect signature

)

sabes algo al respecto?