Introdução ao API de Twitter e cURL

Generalidades sobre o API de Twiter e o acesso à informação por HTTP utilizando a biblioteca cURL.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 05/5/10
Valorize este artigo:
Twitter é uma das redes sociais de maior crescimento, baseada no concepto de "microblogging", que permite aos usuários postar mensagens de uma longitude reduzida em número de caracteres. Através do API de Twitter qualquer um pode criar aplicações que comuniquem com o serviço da mencionada rede social.

Se alguma vez desejou se comunicar com os servidores de Twitter através de um script PHP, para receber o estado de um usuário, seus seguidores ou postar uma mensagem automática a Twitter, por dar alguns exemplos, esperamos poder lhe ajudar neste artigo e nos seguintes.

Generalidades do API de Twitter

Na verdade, Twitter põe à disposição dos usuários três APIs distintos. Dois são os que chamam "REST API" e o outro é um "Streaming API". As aplicações baseadas em Twitter poderão usar os três API distintos, combinados para realizar seus objetivos.

Nota: REST API é um API web que funciona por HTTP e se acessa a partir de URLs que devolvem conteúdos em formatos distintos, como XML, JSON, HTML, etc.

O uso das APIs de Twitter está limitado, por isso suas aplicações não podem se conectar um número indeterminado de vezes para solicitar qualquer coisa. Entretanto, os limites seriam mais ou menos aceitáveis para páginas pessoais e projetos pequenos (ademais, sempre podemos cachear os resultados para não ter que solicitar o mesmo muitas vezes seguidas). No caso que se deseje construir sistemas que façam um uso intensivo do API de Twitter, estaria a possibilidade de registrar a aplicação. Os limites de acesso ao API sem registro são 15 solicitações por hora, enquanto que para aplicações registradas na "whitelist" poderiam chegar a fazer 20.000 solicitações por hora.

No entanto, as solicitações às vezes se contam dependendo do IP do sistema que conecta com Twitter e às vezes dependendo da conta de usuário Twitter que está solicitando um recurso, por isso estes limites poderiam ser um pouco maiores se tivermos um ou vários usuários Twitter. Há também outros limites de uso do API, baseados nos limites de paginação das buscas que se possam realizar, ou seja, que limitam os resultados de busca de status de um usuário ou as referências de uma palavra-chave nos post públicos.

Outra coisa importante é que, quando comuniquemos com o API de Twitter, temos que trabalhar em UTF-8 e enviar qualquer parâmetro codificado com formato de URL. Estes formatos e jogos de caracteres podem ser conseguidos facilmente com diversas funções de PHP.

API de Twitter e cURL

O API de Twitter funciona por HTTP, acessando a URLs que devolvam dados, tudo pelo protocolo HTTP. Para facilitar a solicitação de URLs por parte de um cliente e processar as respostas do servidor a essas solicitações, muito habitualmente se utiliza uma biblioteca à parte chamada cURL, que tem uma série de funções e procedimentos para acessar ao conteúdo de URLs.

Sendo assim, como se fosse pouco, para utilizar o API de Twitter entra em jogo um novo API ou biblioteca, o cURL, mas não é para se preocupar, visto que a biblioteca de cURL tem uma implementação dentro de PHP, assim como em muitos outros sistemas, pelo que poderemos utilizá-la facilmente para acessar ao API de Twitter.

Para acessar a cURL poderíamos utilizar a linha de comandos, se é que o comando cURL está instalado em nosso sistema, porém também podemos utilizar as funções para cURL que tem PHP.

Tal como indicam na própria documentação do API de cURL, poderíamos lançar este comando para acessar ao "public timeline" (as últimas mensagens públicas enviadas por todos os usuários de Twitter):

curl http://api.twitter.com/1/statuses/public_timeline.rss

Dado que este comando serve para acessar à informação pública, não requer autenticação de um usuário para usar o API de Twitter. Há muitas outras URL de consulta ao API de Twitter que sim requerem o login de um usuário, como veremos a seguir.

No seguinte exemplo, solicitamos as últimas 20 informações postadas pelos seguidores do usuário autenticado que realiza esta conexão com o API, cujos dados de login enviamos através do comando curl.

curl -u username:password http://api.twitter.com/1/statuses/friends_timeline.xml

Os resultados, neste caso, serão obtidos em XML, concretamente no formato que se utiliza para os feeds RSS.

Nota: Provei estes comandos através da linha de comandos de Linux, que tem cURL instalado e os reconheceu de primeira. Em Windows não tinha o comando instalado, porém baixei o curl pela página http://curl.haxx.se/download.html, na versão Windows. Com isto terá um zip e dentro o curl.exe que é o próprio comando que pode executar através da linha de comandos de Windows.

Para continuar mostraremos como fazer um simples script PHP que usa cURL para acessar ao API de Twitter.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato