Aprenda inglês em casa
Baixe gratuitamente as duas primeiras aulas
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.
|
Busca |
Aprenda inglês em casa
Baixe gratuitamente as duas primeiras aulas
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.
Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Colaboração: Miguel Galves
Data de Publicação: 30 de maio de 2008
Já ouviu falar do Twitter? O sistema de microblog que tem feito muito sucesso na Internet recentemente (e que tem deixado o RubyOnRails em máus lençóis também, mas isto é assunto para outro dia...). Se não conhece, aconselho dar uma visitada: tem algumas iniciativas interessantes ocorrendo por lá.
Eu gostaria de comentar aqui sobre a questão de integração com o Twitter: conversar via software com o Twitter é extremamente simples, graças à API REST de acesso. REST? REpresentational State Transfer, termo criado por Roy Fielding, computeiro americano e um dos principais autores da especificação do protocolo HTTP, em sua tese de PhD.
O próprio REST tem como pilar o protocolo HTTP. A idéia básica é definir que existem recursos (fontes de informação) que podem ser acessados através de um identificador global (que no caso do HTTP, é conhecido como URL), e que retornam uma representação da informação (XML, JSON, etc). Os recursos são considerados objetos, e o REST utiliza as ações do protocolo HTTP para agir sobre estes objetos: GET, POST (as mais famosas, para quem trabalha com sistemas web e com ajax), PUT e DELETE.
Assim como no HTTP, o REST não armazena sessão: o acesso tem que ser feito sem que o recurso precise ter conhecimento de requisições passadas, proxys, caches e outros recursos utilizados em sistemas web. Ou seja: qualquer serviço REST pode ser acessado apenas com a URI apropriada e a ação desejada.
A API REST do Twitter permite acesso a todas as funcionalidades do sistema, de forma extremamente simples. Por exemplo: caso eu queira listar as mensagens recebidas pelo usuário job4dev em formato xml, basta acessar a URL http://twitter.com/statuses/friends_timeline/job4dev.xml. O sistema retorna informações também em JSON (neste caso, bastaria mudar o xml do final por json).
A maioria dos comandos requer autenticação, que no caso do Twitter é feita usando o BasicAuth: a informação de usuário e senha é enviada em um header chamado Authorization, cujo conteúdo é uma string na forma
Authorization: Basic < dados em base 64>,
onde < dados em base 64> é usuario:senha codificado em base64
(formato muito utilizado para transmissão de dados na web).
Vou colocar aqui um exemplo em Python para enviar uma mensagem nova para uma conta no Twitter. A função encodestring é responsável por converter para base64, e a função urlencode gera uma string no formato correto para colocar na requisição HTTP:
auth = encodestring('%s:%s' % (user, password))[:-1]
header["Authorization"] = 'Basic %s' % self.auth
encoded_post_data = urlencode({"status":status})
req = Request(TwitterSender.url, encoded_post_data, header)
url_data = urlopen(req)
O mais interessante desta API é que além de ser simples, ela é muito bem documentada: http://groups.google.com/group/twitter-development-talk/web/api-documentation
Miguel Galves é Engenheiro de Computação, editor do blog Log4Dev e do jobboard de TI Job4Dev
Veja a relação completa dos artigos de Miguel Galves
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
![]() Recomendar este artigo |
|
Gestão de Equipes (de Projetos)
Inteligências: Lógica, Emocional e Espiritual
Dia 25 de Setembro - São Paulo
Saiba mais
Redes - Guia Prático
Por Carlos. E. Morimoto
Hardware - o Guia Definitivo
Por Carlos. E. Morimoto
Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto
Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto
Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates
Google Hacking
Por JOHNNY LONG
1808
Por Laurentino Gomes
Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe
Linux: Guia do Administrador do Sistema
Por Rubem E. Ferreira
A Menina que Roubava Livros
Por Markus Zusak
Sistemas Operacionais Modernos
Por Andrew S. Tanembaum
Hardware: Curso Completo
Por Gabriel Torres
PHP para Quem Conhece PHP
Por Juliano Niederauer
Redes de Computadores: Curso Completo
Por Gabriel Torres
Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel
O Caçador de Pipas
Por Khaled Hosseini
O Médico Doente
Por Dráuzio Varella
Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson
MySQL - Guia do Programador
Por André Milani
Certificação Linux
Por Uira Ribeiro
Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder
OpenGL: uma Abordagem Prática e Objetiva
Por Marcelo Cohen, Isabel Harb Manssour
Expressões Regulares: Uma Abordagem Divertida
Por Aurélio Marinho Jargas
Extreme Programming
Por Vinicius Manhaes Teles