
Twitter se ha convertido en uno de los más importantes sucesos de la web en los últimos años, al punto de tener demasiados usuarios registrados que lo han vuelto una parte de su vida cotidiana.
Con el auge de twitter ha crecido el número de clientes que hacen uso de sus API para interactuar. Clientes de todo tipo han surgido: desktop, web, mobile. Así mismo, se ha dado la integración de twitter con diversas aplicaciones, lo cual lo convierte en un valor agregado en muchas ocasiones.
En este artículo veremos un sencillo ejemplo de como interactuar con twitter desde una aplicación de escritorio hecha en Visual Studio .NET para postear mensajes a través de la librería Twitterizer.
El primer paso: registrar una aplicación en twitter
Para esto, ingresamos a http://twitter.com/apps y allí damos click en el enlace de registrar una nueva aplicación.
Aquí, se desplegará un formulario donde debemos llenar unos datos básicos acerca de nuestra aplicación a desarrollar.

Después de registrar nuestra aplicación de prueba, obtendremos unos datos que serán necesarios para que ella interactúe con Twitter.

Antes de continuar, es necesario entender el concepto que usa twitter para la autenticación y autorización desde las aplicaciones cliente. Desde hace algún tiempo se viene usando el sistema de autenticación Oauth, un protocolo abierto que provee una API de autenticación segura, y que evita la manipulación directa de nombres de usuarios y contraseñas en las aplicaciones clientes, delegando esta tarea en el API de Twitter.
El uso de este tipo de autenticación, implica que la aplicación llame una URL de Twitter para la autenticación, y desde allí pueden suceder dos cosas. Si el cliente Twitter es web, se puede configurar una URL de redireccion donde sea devuelto el usuario después de autenticarse, y si el cliente twitter es de escritorio, en la autenticación se obtienen unos códigos que servirán para que el usuario pueda usar el cliente.
Ahora creamos una nueva aplicación en Visual Studio

En el archivo de configuración de la aplicación .NET se almacenan los siguientes datos de registro de la aplicación proporcionados por Twitter que son necesarios para interactuar con su API.
<addkey="ConsumerKey"value="wCFelyCNbaQHaWmkPsuFg" />
<addkey="ConsumerSecret"value="UQ2kGIDoTzKHWiGK1doudyhdZihIgCv62merGHEyus" />
Luego estos dos datos serán leidos en el archivo de configuración desde la aplicación. Ahora creemos un formulario de prueba.
El primer botón, será para hacer un login en twitter y obtener el pin de acceso con el cual enviaremos los datos desde la aplicación. La URL a la cual se debe redirigir al usuario se obtiene desde Twitter, y para eso usamos básicamente el siguiente método:
/// Obtiene datos requeridos para obtener el pin de usuario
public DatosAutenticacion ObtenerDatosPinUsuario()
DatosAutenticacion datos = new DatosAutenticacion();
OAuthTokenResponse requestAccessTokens = OAuthUtility.GetRequestToken(this.ConsumerKey, this.ConsumerSecret);
datos.Token = requestAccessTokens.Token;
datos.UrlPin = OAuthUtility.BuildAuthorizationUri(requestAccessTokens.Token).AbsoluteUri;
Posteriormente, los dos cuadros de texto son para ingresar el PIN que obtenemos en la URL que provee Twitter y después de loguearnos en ella con nuestra cuenta de usuario, y el otro cuadro de texto para el mensaje de prueba.
Finalmente, un botón para enviar el mensaje después de ingresados los datos, y ese envío se hace usando los dos siguientes métodos.
/// Obtiene datos del usuario de twitter
public DatosAutenticacion ObtenerDatosUsuarioTwitter(string tokenUsuario, string pinUsuario)
DatosAutenticacion datos = new DatosAutenticacion();
OAuthTokenResponse accessTokens = OAuthUtility.GetAccessToken(this.ConsumerKey, this.ConsumerSecret, tokenUsuario, pinUsuario);
datos.Token = accessTokens.Token;
datos.TokenSecreto = accessTokens.TokenSecret;
datos.IdUsuario = accessTokens.UserId;
datos.Nombre = accessTokens.ScreenName;
/// Actualiza un estado en la cuenta de usuario
public void ActualizarEstado(DatosAutenticacion datosUsuario, string mensaje)
OAuthTokens authTokens = new OAuthTokens()
ConsumerKey = this.ConsumerKey,
ConsumerSecret = this.ConsumerSecret,
AccessToken = datosUsuario.Token,
AccessTokenSecret = datosUsuario.TokenSecreto
TwitterStatus.Update(authTokens, mensaje);
Descargar los fuentes completos del ejemplo aquí
Referencias para este artículo: