Brincando com a API do twitter

On 26 de dezembro de 2008, in Sem categoria, by elcio

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.

Tagged with:
 

14 Responses to “Brincando com a API do twitter”

  1. [...] vi um tweet do Fred indicando um post meio antigo, de 2008, chamado Brincando com a API do twitter. Nele o Élcio mostra como você pode criar um script em shell no linux para twittar da linha de [...]

  2. 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

  3. Vítor disse:

    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???

  4. douglas disse:

    voce pode me responder se quando posta no CURL aparece no twitter, ‘from web’ ou algo diferente? Obrigado se puder me enviar um email.
    abraços

  5. douglas disse:

    MUITO BOM! ja to fazendo
    abraços

  6. [...] inspiração para essa brincadeirinha veio deste post do fechaTag. Fiz o mesmo, com algumas adaptações para o [...]

  7. [...] Arquivado em: Unix — blogdobragil @ 5:03 pm A inspiração para essa brincadeirinha veio deste post do fechaTag. Fiz o mesmo, com algumas adaptações para o [...]

  8. cacovsky disse:

    @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.

  9. fulvius disse:

    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!

  10. Daniel Cukier disse:

    Fantástico! Já estou usando

  11. battisti disse:

    Realmente lindo! O SHELL SCRIPT!

  12. Rafael Dx7 disse:

    Muito bom!

    já to dando uma olhada na api!

    abraços.

  13. Ved disse:

    Muito bom, Elcio! Deu um overview legal nao só to Twitter, mas tambem aprendi mais uma no Linux! Valeus!

  14. Diego Sana disse:

    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 :)

Leave a Reply