sábado, 5 de junio de 2010

La primera aplicación


Ahora voy a explicar el proceso que seguí para publicar mi primer tweet desde mi propia aplicación escrita en PHP utilizando OAuth, pero primero voy a comentar el proceso general para conectarte a twitter a través de una aplicación externa.

Es tan sencillo como seguir estos 3 pasos:
1.- Obtener un consumer token
2.- Obtener un request token
3.- Obtener un access token

el consumer token es una clave que se otorga a cada aplicación al registrarla en twitter, así que ese debe se ser el primer paso si quieres construir la tuya. Es una clave que no cambia, a menos que el propio creador de la aplicación solicite su renovación.

Teniendo ya el consumer token, cada vez que se vaya a abrir una sesión twitter con la aplicación, se debe solicitar un request token, que es una clave temporal (válida mientras dure la sesión) que habilita a la aplicación para ser utilizada durante dicha sesión.

Teniendo ya el request token, la aplicación está lista para solicitar al usuario que permita utilizar su cuenta durante esa sesión. De esta forma: con el request token y el permiso de usuario, twitter nos dará un access token, con el cual finalmente podremos enviar/solicitar información a través de la API.

Este es el proceso general para lograr comunicarnos con twitter, utilizando OAuth. Ahora pasaré a describir brevemente el ambiente bajo el cual voy a programar mi aplicación.


Ajustando el ambiente de trabajo

Recordando que mi objetivo es lograr establecer una conexión entre twitter y una aplicación escrita en PHP que pueda correr desde mi servidor web local, no hace falta decir que requiero tener el servidor web instalado en mi PC (en mi caso, utilizo XAMPP, bajo Windows Vista).

Para utilizar OAuth, tenemos 2 opciones:
1) Programar nuestras propias funciones de conexión para utilizar el API.
2) Utilizar una librería que nos evite tener que hacer todo desde el principio.

Programar nuestras funciones para manejar OAuth no es técnicamente complicado y existe suficiente documentación en la red, sin embargo requiere lógicamente algo de tiempo. Por el otro lado, utilizar una librería existente nos ahorra tiempo, pero dependiendo del lenguaje en el que vayamos a desarrollar, probablemente ni siquiera exista (todavía) una librería, o no cubra nuestros requerimientos.

En mi caso, programaré en PHP, para el cual existen ya varias librerías. En particular estuve revisando 2:
  • pecl/oauth: una librería de propósito general para trabajar con el protocolo OAuth (sirve no sólo para twitter, sino para Google, Yahoo!, entre otros).
  • twitteroauth: una librería escrita por @abraham, especificamente para trabajar con el protocolo OAuth con twitter.
La primera opción parece la más completa, especialmente si en un futuro tenemos planificado conectarnos a otras redes/aplicaciones que utilicen el protocolo OAuth. Al momento de escribir este post, acabada de salir la versión 1.0 estable. Su instalación bajo linux parece muy sencilla, pero de momento no he logrado instalarla bajo Windows, de modo que me voy por la segunda opción, con la promesa de volver a intentar la primera en un futuro no muy lejano.

Voy a perder tiempo si luego quiero cambiar la librería OAuth? No, recordemos que OAuh es sólo la parte de autenticación al utilizar una aplicación para twitter, son unos pocos procedimientos y son muy parecidos entre librerías, de modo que pasar de una a otra no debe debe dar mayor problema.

En definitiva, me voy con twitteroauth por ahora. Una gran ventaja es que no requiere instalación, sólo descargarla, colocarla en nuestro directorio web y está lista para ser utilizada.

Un aspecto importante a tener en cuenta es que tanto twitteroauth como pecl/oauth utilizan cURL, una herramienta para trabajar de forma automatizada con el protocolo URL, por lo que también debemos instalar cURL.

La instalación de cURL es sencilla. Es cuestión de descargar el programa desde aquí, dependiendo del sistema operativo, y seguir las instrucciones que se encuentran aquí para hacerlo funcionar con PHP. En el caso de utilizar XAMPP, es más sencillo aún, sólo se requiere abrir el archivo php.in (que se encuentra dentro del directorio apache/bin/) y descomentar (quitar el ";" al comienzo) la línea que contiene:

extension=php_curl.dll

Con esto cURL quedará listo para utilizarse dentro de nuestras aplicaciones web.

En resumen, en esto consiste mi ambiente de trabajo: servidor web + librería para OAuth + cURL. Para no extender, dejaré esta entrada hasta aquí, y en la siguiente explicaré el proceso de registro de la aplicación en twitter, y cómo utilizar twitteroauth para producir nuestra primera actualización via API.


0 comentarios:

Publicar un comentario