Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

TweetSharp: Acessando o Twitter com C#


twitter_birdFala galera, vou demonstrar como é simples acessar o Twitter utilizando a biblioteca TweetSharp e suas interfaces fluentes.Primeiramente baixe as dlls do Tweetsharp aqui aqui no Codeplex.O TweetSharp é uma api que fornece acesso de forma simplificada à API do Twitter.Vamos então criar um projeto utilizando o Visual Studio 2010 beta 2 porém estou utilizando a versão 3.5 para o projeto, pois existem alguns conflitos com o framework 4.Estou criando uma Console Application, para que possamos ver uma saída gráfica do nosso código.Vamos adicionar a referência para o TweetSharp em nosso projeto, como mostra a figura abaixo:Adicionando Referencias TweetSharpFeito isso vou criar 2 métodos. Um para para buscar os 10 últimos tweets da minha lista e o outro para exibir a lista de amigos.Primeiramente inclua estes 3 statements using:

using Dimebrain.TweetSharp.Model;
    using Dimebrain.TweetSharp.Fluent;
    using Dimebrain.TweetSharp.Extensions;

No código acima estamos adicionando as referências para usarmos os métodos de extensão e as interfaces fluentes do TweetSharp e também as classes do mesmo.Abaixo temos o método que busca os 10 últimos tweets:

private
static IEnumerable<twitterstatus> Obter10UltimosTweets(){
var search = FluentTwitter                    .CreateRequest()                    .AuthenticateAs("seuLogin", "suaSenha")                    .Statuses()                    .OnHomeTimeline()                    .Take(10)                    .AsJson();
var result = search.Request();
return result.AsStatuses();
    }
</twitterstatus>

Por utilizar interfaces fluentes O código fica bem simples e legível. Na linha 4 criamos um request utilizando a api do TweetSharp. Na linha 5 dizemos quais credenciais devem ser utilizadas. Na linha 6 informamos que queremos trabalhar com os "statuses" ou seja, os tweets. Na linha 7 dizemos que queremos os tweets que aparecem na nossa home, ou seja, de quem seguimos e os nossos também. Já na linha 8 pegamos apenas 10 destes tweets e os formatamos em Json na linha 9.O código em si é realmente bastante legível.E o nosso método main fica assim:

static void Main(string[] args){
var tweets = Obter10ultimosTweets();
foreach(var tweet in tweets)    {        Console.WriteLine("@{
}
 {
}
\n\n", tweet.User.ScreenName, tweet.Text);
    }
    Console.ReadKey();
    }

Este método é bem simples, apenas itera os elementos retornados pelo método anterior. As propriedades do objeto TwitterStatus podem ser conferidas com ajuda do intellisense ou então pressionado F12 sobre a classe.O resultado pode ser visto na imagem abaixo:10 Últimos Tweets com TweetSharpPara exibir a lista de amigos vou utilizar o método abaixo:

public
static IEnumerable<twitteruser> ObterListaDeAmigos(){
var search = FluentTwitter                    .CreateRequest()                    .AuthenticateAs("seuLogin", "suaSenha")                    .Users()                    .GetFriends()                    .AsJson();
var result = search.Request();
return result.AsUsers();
    }
</twitteruser>

A diferença neste código para o anterior está na linha 6 onde informamos que queremos trabalhar com os usuários, e na linha 7 onde dizemos que queremos obter os friends, ou seja, as pessoas que estamos seguindo.E alteramos o código do método main de forma que fique assim;

static void Main(string[] args){
var tweets = Obter10ultimosTweets();
foreach(var tweet in tweets)    {        Console.WriteLine("@{
}
 {
}
\n\n", tweet.User.ScreenName, tweet.Text);
    }
    Console.WriteLine("\n\nLISTA DE AMIGOS\n\n");
var amigos = ObterListaDeAmigos();
foreach(var amigo in amigos)    {        Console.WriteLine("@{
}
", amigo.ScreenName);
    }
    Console.ReadKey();
    }

O resultado pode ser conferido na imagem abaixo:Lista de amigos com TweetSharpBom pessoal, é basicamente isso. A biblioteca TweetSharp oferece ainda diversos outros recursos, tudo que é necessário para se fazer um bom trabalho com o twitter.Dúvidas, sugestões, reclamações: os comentários estão aí pra isso.

Att, Vinicius Quaiato.

Voltar

Fork me on GitHub