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

Fala 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();
}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("@{0} {1}\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();
}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("@{0} {1}\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("@{0}", 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.