TinyTwitter: Una micro librería para twittear desde C#

Durante las últimas dos semanas he estado aburriendo a parte de los que soléis leer este blog con mis posts sobre cómo funciona el API de Twitter, cómo escribir tweets y cómo leerlos. La buena noticia es que ya casi he terminado; la mala es que todavía queda este post.

Hasta ahora había ido dejando el código bastante sucio y lo escondía en gists para no tener que verlo muy de cerca. Ha llegado el momento de lavarlo un poco, peinarlo y dejarlo decente por si a alguien le sirve…

Presentando TinyTwitter

TinyTwitter es una micro librería para integrar aplicaciones con Twitter. Está diseñada para cumplir dos objetivos básicos:

  • Exponer un API lo más simple posible para escribir y leer tweets.
  • Poder incluirse como un fichero de código fuente en el proyecto donde se vaya a usar, sin necesidad de tener más dependencias binarias.

Para cumplir estos dos objetivos hace falta realizar algunos sacrificios y dejar de lado muchas de las funcionalidades más avanzadas de Twitter. Si necesitas un cliente completo de Twitter, sólido, probado y con muchas opciones, puedes probar Twitterizer o TweetSharp.

TinyTwitter en 5 pasos

Para usar TinyTwitter basta con seguir estos pasos:

  1. Descarga la última versión del fichero TinyTwitter.cs y añádelo a tu proyecto.
  2. Registra tu aplicación en Twitter y obtén los tokens de autorización como indican en la documentación de Twitter. Este seguramente sea el paso más complicado, pero no se me ocurre como evitarlo a nivel de librería.
  3. Crea un objeto TinyTwitter para acceder a Twitter:
    var oauth = new OAuthInfo
    {
        AccessToken = "YOUR ACCESS TOKEN",
        AccessSecret = "YOUR ACCES SECRET",
        ConsumerKey = "YOUR CONSUMER KEY",
        ConsumerSecret = "YOUR CONSUMER SECRET"
    };
    
    var twitter = new TinyTwitter(oauth);
    
  4. Usa el método UpdateStatus para publicar un nuevo tweet:
    twitter.UpdateStatus("Soy un pequeño tweet");
    
  5. Consulta los tweets enviados por ti y aquellos a los que sigues con el método GetHomeTimeline:
    var tweets = twitter.GetHomeTimeline();
    
    foreach (var tweet in tweets)
        Console.WriteLine("{0}: {1}", tweet.UserName, tweet.Text);
    

Y no hay mucho más que contar, la verdad. Hay un par de métodos más para obtener distintos timelines: GetMentions para las menciones y GetUserTimeline para el timeline con los tweets publicados por el usuario. También se puede jugar con los parámetros opcionales de los métodos GetXXXTimeline para obtener sólo tweets posteriores a un tweet determinado.

Cosas pendientes

Hay un montón de cosas que se podrían mejorar sobre esto. Por una parte, me gustaría mejorar la pobrísima suite de tests. Por otra, no estaría mal crear un paquete en NuGet, más que nada por ver cómo se hace porque nunca he hecho uno y tengo curiosidad. Ya veremos si me animo.


3 comentarios en “TinyTwitter: Una micro librería para twittear desde C#

  1. Pingback: TwitterAppender: de log4net a Twitter

  2. Pingback: Creando un paquete NuGet para TinyTwitter

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>