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.
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.
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.
Para continuar mostraremos como fazer um simples script PHP que usa cURL para acessar ao API de Twitter.