API de Twitter, PHP e cURL

Fazemos um primeiro script PHP que se conecta com o API de Twitter e acessa à informação através da biblioteca cURL.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 05/5/10
Valorize este artigo:
No artigo anterior oferecemos una introdução ao API de Twitter e como temos que utilizar a biblioteca cURL para acessar aos dados que há neste sistema de microblogging. Eram só umas pequenas informações para entrar no artigo, porém vale a pena conhecê-las antes de se colocar a fazer coisas mais importantes. Aprendemos ademais a conectar com Twitter por meio da linha de comandos, e o comando curl, porém nosso objetivo é fazer scripts PHP que consumam essa informação e a mostrem em uma página web.

Neste artigo procuraremos manter as coisas simples, porém já veremos um pouquinho de código PHP. Simplesmente vamos fazer um script PHP que conecte com o API Twitter, por meio das funções cURL de PHP e mostre os dados recolhidos em tela, sem nenhum formato em especial.

Talvez, se nunca programamos com cURL, pode parecer um pouco complexo este script, porém realmente não devemos nos preocupar porque mais adiante mostraremos um método muito mais simples para trabalhar com o API de Twitter sem ter que aprender cURL. De qualquer forma, pensemos que com cURL vamos acessar a um conteúdo de texto que está em uma URL, por isso o mecanismo será mais ou menos similar que o que podemos conhecer no trabalho com arquivos de texto.

Nota: Para acessar a uma referência completa das funções de PHP para trabalho com cURL podemos consultar a documentação de PHP relativa a cURL.

Obviamente, nosso PHP tem que dispor de compatibilidade com cURL, algo que é bastante provável, mas que nem sempre é assim. Se tivermos um servidor de provas PHP instalado em nosso computador local em Windows, podemos adicionar compatibilidade com cURL seguindo os guias que oferecem esta FAQ: Como instalar cURL em PHP em Xampp, pois, embora nosso PHP não esteja instalado com Xampp, a solução pode ser similar. Se tivermos um serviço de Hosting, podemos perguntar ao departamento de suporte de seu provedor como instalar cURL.

Script PHP e cURL para acessar a Twitter

O primeiro passo neste script é iniciar uma nova sessão de cURL através de PHP.

$curl = curl_init();

Como segundo passo vamos configurar cURL para que acesse a uma URL do API de Twitter, vamos lhe indicar o porto a utilizar e uma pequena configuração para controlar a saída.

//url do API de Twitter ao qual acessar com curl
curl_setopt($curl, CURLOPT_URL, 'http://twitter.com/statuses/public_timeline.xml');
//porto para a comunicação
curl_setopt($curl, CURLOPT_PORT, 80);
//peço a curl que devolva os dados em um string, ao invés de mostrá-los na tela
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

Como detalhes cabe destacar que vamos acessar à URL 'http://twitter.com/statuses/public_timeline.xml', que nos devolverá as últimas participações públicas dos usuários de Twitter a nível global. Utilizaremos o porto 80. Ademais, configuramos a true o valor da variável de configuração CURLOPT_RETURNTRANSFER, para que nos devolva a resposta da comunicação, a armazenaremos em uma variável e possamos fazer o que quisermos com ela.

Agora que já temos configurado cURL com as opções mais básicas, vamos executar a solicitação ao API de Twitter.

$resposta = curl_exec($curl);

Armazeno a resposta na variável $resposta e logo a mostraremos por tela. Porém antes, por curiosidade, vamos trazer também os dados de cabeçalho do estado de nossa conexão com cURL.

$cabecalhos = curl_getinfo($curl);

Agora vou fechar a conexão a essa URL realizada com cURL:

curl_close($curl);

E por último, vamos mostrar no texto da página as variáveis de resposta e os cabeçalhos de cURL:

echo '<pre>';
var_dump($cabecalhos);
echo '</pre>';

echo "<hr>";

echo '<pre>';
var_dump($resposta);
echo '</pre>';

Isso é tudo. O exemplo, executado em nosso servidor, deveria nos mostrar os dados dos cabeçalhos de cURL para esta conexão e logo os textos da linha status públicos das últimas participações dos usuários.

O código completo é o seguinte:

<?php
//acesso a cURL com PHP

//inicio uma sessao com curl
$curl = curl_init();

//carrego algumas opcoes na conexao CURL
//url do API de Twitter ao qual acessar com curl
curl_setopt($curl, CURLOPT_URL, 'http://twitter.com/statuses/public_timeline.xml');
//porto para a comunicacao
curl_setopt($curl, CURLOPT_PORT, 80);
//pido a curl que devuelva los datos en un string, en vez de mostrarlos por pantalla
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

//executo a solicitacao ao API com curl
$resposta = curl_exec($curl);

//recebo algumas informacoes de cabecalho do estado de curl
$cabecalhos = curl_getinfo($curl);

//Fecho a conexao com curl
curl_close($curl);

//mostro os valores recebidos como informação de cabecalho de curl
echo '<pre>';
var_dump($cabecalhos);
echo '</pre>';

echo "<hr>";

echo '<pre>';
var_dump($resposta);
echo '</pre>';
?>

Embora este primeiro exemplo esteja bem, certamente queira fazer coisas muito mais complexas. Em futuros artigos, vamos continuar explorando as possibilidades do API de Twitter, porém vamos mostrar uma maneira de simplificar as coisas que se baseia em utilizar alguma biblioteca de acesso a Twitter, que nos permitirá comunicar com o API sem ter que complicar muito a vida.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

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