PHP: Integrando o Twitter ao seu Site – Parte 2
Continuando o artigo anterior, hoje vamos dar mais um passo na integração do twitter ao seu site. Neste artigo vou mostrar como podemos enviar tweets direto do seu site usando a biblioteca cURL do PHP.
Se você não está familiarizado com essa biblioteca, não se preocupe, vamos dar um jeito de fazer parte da familia
Parte 2: Atualizando sua timeline
Como diria a bruxa do desenho do Pica-Pau (lembre-se, desenho!): “E lá vamos nós!”. Para começar, uma explicação básica do que é a biblioteca cURL e seu processo de instalação.
cURL
cURL(Client URL Reques Library) na wikipedia: “cURL é um projeto de sofware que fornece uma biblioteca e uma ferramenta de linha de comando para transferir dados usando vários protocolos”. Ele nos permite, basicamente, fazer requisições para uma URL e recuperar o resultado dessa requisição. Podemos também adicionar parâmetros a ela.
O PHP tem uma biblioteca para usar o CURL. A instalação é bem simples. No Ubuntu basta digitar a seguinte no terminal:
sudo apt-get update && sudo apt-get install curl php5-curl
Com isso você tem tanto a ferramenta para linha de comando quanto a biblioteca para PHP instaladas na sua máquina.
Um teste bem simples para ver o cURL funcionando é digitar o seguinte no terminal:
curl http://www.hboaventura.com
O retorno vai ser o código-fonte do meu site no seu terminal. Não vou me estender muito na cURL, tem bastante conteúdo na web, just google it!
Usando o php-curl para enviar tweets
Com o ambiente pronto, podemos agora focar na integração com o PHP que o pacote php5-curl adiciona ao nosso server. Basicamente, para enviar um tweet, você vai precisar:
- seu usuário (d’oh);
- sua senha (tinha dúvidas sobre isso ainda?);
- a mensagem que você quer tweetar (até vou procurar no dicionário se isso já virou um verbete);
Assim como no outro artigo, a explicação é maior do que o código propriamente dito. Com esses dados a mão, o que temos que fazer é usar algumas funções do php-cURL para “embuti-los” na requisição. Vamos ao que importa (código!):
$usuario = 'kidh0'; $senha = 'hahaNoWay!'; $mensagem = 'Wow! Meu primeiro tweet via API'; $url = 'http://twitter.com/statuses/update.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_POST, true); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, 'status='.$mensagem); curl_setopt($curl_handle, CURLOPT_USERPWD, $usuario.':'.$senha); $resultado = curl_exec($curl_handle); curl_close($curl_handle);
Explicando a coisa toda:
- Linhas 1 a 3: Basicamente coloquei em atributos os dados necessários para a requisição;
- Linha 5: URL para qual é feita a requisição (envio do tweet). Note que o arquivo requisitado é um XML, por isso o retorno é um XML, mas a API do Twitter também aceita o formato JSON, retornando, obviamente, uma string JSON;
- Linha 7: Inicia uma nova sessão e retorna o handler cURL para ser usado com as outras funções, leia mais;* Linha 9: Seta a requisição para ser um POST HTTP;
- Linha 10: Ao setar para true, retornará o resultado de curl_exec() como uma string, se estiver false, vai jogar na tela direto;
- Linha 11: Seta para 30 o número de segundos para esperar enquanto tenta conectar;
- Linha 12: Adiciona um campo para o POST chamado status com o conteudo da variável $mensagem;
- Linha 13: Seta o usuário e senha para a validação da requisição;
- Linha 14: Atribui a variável $resultado o resultado da requisição. Vale lembrar aqui que o retorno, em caso de sucesso, vai ser um XML com todas os atributos do status. Em caso de erro, retornará a mensagem referente;
- Linha 15: Fecha a conexão, mas não é necessário;
Para manipular a variável $resultado (lógico, se você optou por retornar um XML) podemos usar nosso bom amigo SimpleXML que foi usado no post anterior).
Com isso temos uma simples mas funcional integração de envio de tweets direto do seu site para o Twitter, prático e rápido.
No próximo artigo (e final, at least!), vamos fazer uma classe para trabalhar com o que vimos até agora, colocando um plus a mais
. Até o próximo artigo!
Leia também:



10 de junho de 2010 at 16:46
gostei do post, depois vou testar aplicar na prática.
Espero que continue postando dicas em php.
19 de agosto de 2010 at 17:43
Excelente post ! Consegui implementar o codigo disponivel em outras aplicacoes, e ficou 100%.
Parabens ! ^_^
1 de setembro de 2010 at 09:27
[...] segundo artigo, utilizamos cURL para acessar a API e enviar tweets, passando o usuário e senha. Isso não é [...]