Sites e sistemas rápidos, acessíveis, bem posicionados no Google e, o que é mais importante, fáceis de usar.

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.

Adicionar esta notícia no Linkk

11 comentários para “Brincando com a API do twitter”

  1. Diego Sana Says:

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

  2. Ved Says:

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

  3. Rafael Dx7 Says:

    Muito bom!

    já to dando uma olhada na api!

    abraços.

  4. battisti Says:

    Realmente lindo! O SHELL SCRIPT!

  5. Daniel Cukier Says:

    Fantástico! Já estou usando

  6. fulvius Says:

    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. cacovsky Says:

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

  8. Twittando pelo terminal do FreeBSD « Blog do Bragil Says:

    […] 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 […]

  9. Twittando pelo terminal do FreeBSD at Bragil.Net Says:

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

  10. douglas Says:

    MUITO BOM! ja to fazendo
    abraços

  11. douglas Says:

    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

Deixe um comentário