Actualizar estado en Twitter desde .NET

  • RSS
  • Add To My MSN
  • Add To Windows Live
  • Add To My Yahoo
  • Add To Google

Statistics

  • Entries (2)
  • Comments (2)
Posted by Hernan Guzmán Sunday, November 28, 2010 10:58:00 AM Categories: APIs NET Twitter
Rate this Content 0 Votes

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.

<appSettings>

<addkey="ConsumerKey"value="wCFelyCNbaQHaWmkPsuFg" />

<addkey="ConsumerSecret"value="UQ2kGIDoTzKHWiGK1doudyhdZihIgCv62merGHEyus" />

</appSettings>

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

try

{

OAuthTokenResponse requestAccessTokens = OAuthUtility.GetRequestToken(this.ConsumerKey, this.ConsumerSecret);

datos.Token = requestAccessTokens.Token;

datos.UrlPin = OAuthUtility.BuildAuthorizationUri(requestAccessTokens.Token).AbsoluteUri;

}

catch (Exception)

{

throw;

}

return datos;

}

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

try

{

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;

}

catch (Exception)

{

throw;

}

return datos;

}

 

/// Actualiza un estado en la cuenta de usuario

///

public void ActualizarEstado(DatosAutenticacion datosUsuario, string mensaje)

{

try

{

OAuthTokens authTokens = new OAuthTokens()

{

ConsumerKey = this.ConsumerKey,

ConsumerSecret = this.ConsumerSecret,

AccessToken = datosUsuario.Token,

AccessTokenSecret = datosUsuario.TokenSecreto

};

 

TwitterStatus.Update(authTokens, mensaje);

}

catch (Exception)

{

throw;

}

}

Descargar los fuentes completos del ejemplo aquí

Referencias para este artículo:

Comments

 
© 2009 - 2013 Avanet