{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();
}
</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.