Vinicius Quaiato

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

Postando no Twitter com TweetSharp em C#


Continuando a falar da API TweetSharp, neste post mostrarei como enviar tweets e retweetar mensagens.Novamente estamos utilizando as interfaces fluentes do TweetSharp, o que torna o trabalho bem simples e fácil, pois com a ajuda do intellisense podemos realizar todo trabalho simplesmente navegando através dos métodos, que possuem nomes bem definidos e claros.Bom vamos lá, continuaremos utilizando o código apresentado neste post aqui.Abaixo estou criando o método que envia uma nova mensagem para o Twitter:

public
static void PostarMensagemTwitter(string mensagem){
var request = FluentTwitter                   .CreateRequest()                   .AuthenticateAs("seuLogin", "suaSenha")                   .Statuses()                   .Update(mensagem);
var result = request.Request();
    }

Este método é bem simples e a única novidade é a linha 7, onde chamamos o método Update, passando uma string, que é a mensagem que será enviada para o Twitter. Para entender mais sobre os outros métodos, veja a explicação aqui.Agora vou alterar o método Main para enviar uma nova mensagem e depois fazer a consulta das últimas 10 mensagens para verificar se realmente conseguimos enviar o tweet:

static void Main(string[] args){    PostarMensagemTwitter("Enviando tweet através do post do blog!!!");
var tweets = Obter10ultimosTweets();
foreach(var tweet in tweets)    {        Console.WriteLine("@{
}
 {
}
\n\n", tweet.User.ScreenName, tweet.Text);
    }
        Console.ReadKey();
    }

O resultado pode ser visto na imagem abaixo:Postando mensagem Twitter com C# e TweetsharpPara fazer um retweet, ou seja, repassar uma mensagem que alguém enviou, utilizaremos o método abaixo:

public
static void Retweetar(TwitterStatus tweet){
var request = FluentTwitter       .CreateRequest()       .AuthenticateAs("seuLogin", "suaSenha")       .Statuses()       .Retweet(tweet, RetweetMode.Prefix);
var result = request.Request();
    }

Na linha 1 podemos notar que recebemos como parâmetro um TwitterStatus, que é a mensagem que queremos retweetar. Veremos depois como obter este objeto. Na linha 7 estamos chamando o método Retweet e passando como primeiro parâmetro o tweet que queremos retweetar, e passamos também um valor do enum RetweetMode, neste caso o valor Prefix, indiicando que o prefixo 'RT' deve ser adicionado ao nosso retweet.Alterei o método Main para selecionar um tweet específico, retweetar, e então listar os últimos 10 para vermos o nosso retweet:

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

A única novidade aqui é que estou selecionando um tweet específico na linha 4, no caso um tweet que tenha sido enviado por mim.O resultado pode ser conferido na imagem abaixo (e se você me segue no twitter, deve ter visto estas mensagens também @vquaiato):Retweet com TweetSharp em C#

É isso aê! Deste jeito teremos um cliente para twitter pronto de forma bem simples e objetiva.Recebi algumas dicas de outras bibliotecas para acessar o Twitter também, e em breve postarei algo aqui.O @juloliveira indicou o Linq2Twitter.O @brunokenj indicou o Twitterizer.Logo mais falo sobre estas bibliotecas aqui.

Abraços, e lembrando que os comentários e dúvidas, críticas, etc, são sempre bem vindos.Vinicius Quaiato.

Voltar

Fork me on GitHub