Brincando com a API do twitter

Resolvi experimentar um pouco a Twitter API. É linda, do jeito que toda API deveria ser. É REST, muito fácil de entender e colocar para funcionar, e devolve dados em XML, JSON, RSS e ATOM.

Essa simplicidade permite interagir com a API usando ferramentas simples da linha de comando do Unix, como o wget e a cURL. Para nossos exemplos, vamos usar cURL. Se você usa Ubuntu, antes de começar faça:

sudo apt-get install curl

Para fazer um simples post, por exemplo, você pode digitar, em seu terminal:

curl -u seu_username:sua_senha -d status="Twittando do terminal. Aprendi com o Elcio: http://blog.elcio.com.br/brincando-com-a-api-do-twitter/" http://twitter.com/statuses/update.json

É isso mesmo, meninos e meninas, é só um post com autenticação, mais nada. RESTful, simples e elegante, deixar qualquer SOAP no chinelo. Inspirador para qualquer um que precise projetar uma API. Isso retorna dados em JSON. Se você quiser os mesmos dados em XML, ATOM ou RSS, basta mudar a extensão na url.

Agora vamos automatizar isso. Eu criei um arquivo /usr/local/bin/twitter com o seguinte conteúdo:

source $HOME/.twitter
curl -u $user:$password -d status="$@" http://twitter.com/statuses/update.json

Naturalmente, criei o arquivo como root e dei permissão de execução para todos os usuários. Agora, no diretório de cada usuário, basta criar um arquivo .twitter com o seguinte conteúdo:

user=seu_username
password=sua_senha

Pronto, tendo feito isso, qualquer usuário que tenha o arquivo .twitter em seu home pode twittar do terminal com:

twitter "Twittando do terminal, aprendi com o Elcio: http://blog.elcio.com.br/brincando-com-a-api-do-twitter/"

Simples e indolor, agora você pode automatizar suas twittadas com shell script. Pode, por exemplo, twittar toda vez que seu servidor baleiar, ou agendar twits com cron.

Search API

A Search API também é espetacularmente simples, dê uma olhada. Fiz a UPBox usando a Twitter Search API, por exemplo, com 22 linhas de código.

16 comments on “Brincando com a API do twitter

  1. Cara estou com uma dificuldade enorme,
    preciso extrair dados do twiiter, como estado de quem posto algo, sexo, idade, essas coisas porém nao to conseguindo.

    me ajude por favor…..

  2. Uma pequena duvida pra quem está lendo agora sobre isso. É possível eu fornecer acesso a outra pessoa, outro aplicativo, ou qualquer coisa do tipo, para que “esse” faça posts no meu twitter ?

    Por exemplo, dar acesso a um programa para que ele , sem precisar saber minhas credenciais, poste por mim ? Claro, depois de se autenticar via oAuth.

    Ah, ótimo artigo.

  3. Ola, boa noite, kara, me da só 1 dica? prometo que sera a mesma, não entendo muito bem de jquery não, mas quero só uma dica, não precisa responder não…rsrs assim eu aprendo mais, mas como eu faço para colocar varios upbox na mesma pagina? tem como??
    abraços
    valew

  4. Eu sou muito ruim nessas coisas de códigos… ¬¬
    Alguém aí sabe me dizer como eu faço pra tirar do meu perfil um desses, que aparece toda hora e não fui eu q coloquei???

  5. @fulvius: eu acho que não passsa pela URL não. Seria muita inocência dos desenvolvedores permitirem as coisas dessa forma. Além disso, não há nada no script que evidencie essa forma de passagem de parâmetro. Na verdade, na manpage do cURL , a opção -u serve apropriadamente para enviar usuário e senha. Uma mínima pesquisa no Google me revelou que existe uma criptografia envolvida

    Também gostaria de fazer uma sugestão: testando com algumas pessoas, vi que algumas que tinham senhas um pouco mais complicadas enfrentavam problemas com a autenticação. A solucação foi usar o arquivo de dados de usuário na forma:

    user=’seu_username’
    password=’sua_senha’

    Depois que tava tudo funcionando, pra evitar aparecer qualquer coisa no meu terminal, adicionei a opção -s (de Silent) ao curl. A desvantagem disso é que você não vê se ocorreu algum erro.

  6. Olá, muito bom o artigo. Direto e simples de entender.

    Agora qto a api… vc nao acha esquema dela meio furado de passar o usuário e senha direto na url? se alguém sniffar a rede putf! já era!

  7. Já tinha dado uma olhada na API do Twitter e fiquei entusiasmado com a simplicidade, não é a toa que existem tantas apps usando ela e gerando 90% do tráfego do site. Sua idéia de twittar via shell foi muito boa, dá pra criar umas ferramentas legais de monitoramento do servidor e acompanhar pelo Twitter 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *