Enviar mensagens ao Twitter do PHP e do API do Twitter

Como enviar mensagens a uma conta do Twitter a partir dos seus próprios scripts PHP e utilizando o API do Twitter.

Por Miguel Angel Alvarez - Tradução de Celeste Veiga


Publicado em: 13/7/10
Valorize este artigo:
Certamente a pessoa que leia o Manual de trabalho com o API do Twitter do PHP estará interessada pela funcionalidade que vamos mostrar a seguir, pois é um dos passos mais fundamentais da comunicação com o serviço de microblogging. Assim, mãos à obra e vamos explicar como enviar mensagens com nossa conta de Twitter a partir de um script PHP.

Como vimos anteriormente, trabalhar com o API do Twitter é bastante simples quando você utiliza alguma classe PHP que sirva de ponte entre o API e seus scripts PHP. Assim, para explicarmos o API do Twitter estamos utilizando a Twitter Class, um script de código aberto que já havíamos comentado no artigo Utilizar uma biblioteca PHP para trabalhar com o API do Twitter.

O passo que queremos explicar, usando a biblioteca Twitter Class consta de poucas linhas de código. Realmente veremos que o próprio envio da mensagem ao Twitter é uma única sentença PHP, uma chamada ao método updateStatus() da mencionada classe, embora nós tenhamos enfeitado este script para dar-lhe um pouco mais de distinção e aproveitando para aprender outras coisas novas do API. Em concreto, veremos que existem alguns métodos interessantes implementados na classe PHP que estamos utilizando, para saber se temos conexão com o API do Twitter e se o usuário que utilizamos está corretamente autenticado.

Métodos de Twitter Class que vamos utilizar

Estes são os métodos que ainda não conhecemos da biblioteca PHP para trabalho com Twitter e que vamos utilizar

test():
Este método serve para comprovar se existe comunicação com o API do Twitter. Não recebe parâmetros e simplesmente retorna um booleano indicando se há ou não conexão.

verifyCredentials():
Este método também não recebe parâmetros e assim como o anterior, retorna um booleano com o que ficamos sabendo se o usuário que iniciou a sessão com o API está corretamente autenticado. Como podemos imaginar, retorna true se o login e a senha correspondem às de um usuário de Twitter e false se a autenticação não teve sucesso.

Nota:Lembremos que a autenticação com o API do Twitter se realiza com os dados que se enviam ao construtor da classe Twitter Class.
$obj_twitter = new Twitter("usuario","senha");

updateStatus():
O método updateStatus() recebe como parâmetro uma cadeia de caracteres e a envia como post na conta do usuário autenticado. Ou seja, envia uma mensagem ao Twitter com a conta do usuário com a qual instanciamos a do objeto da classe Twitter Class. Lembre que a mensagem deve ter um máximo de 140 caracteres.

Formulário para enviar uma mensagem ao Twitter a partir do PHP

Agora que já conhecemos os métodos com os quais necessitamos trabalhar neste exemplo, vejamos o script PHP que poderíamos utilizar para enviar mensagens ao Twitter. Nesta prática vamos fazer um formulário que terá os campos de autenticação ao Twitter e uma área de texto para escrever a mensagem a ser enviada.

Ao enviar o formulário comprovaremos que recebemos os dados de autenticação, se existe conexão com o Twiter e se o login do usuário pode ser realizado corretamente. No caso de que tudo tenha ido bem, a mensagem será enviada.

O código é o seguinte:

<html>
   <head>
   <title>Enviando mensagens a Twitter desde PHP</title>
   </head>
   <body>
      
   
<?php
if (!$_POST || $_POST["user"]=="" || $_POST["senha"]==""){
   //se nao recebo dados de formulario, mostro um formulario com os dados a preencher
   echo '
   
   <form action="' . $_SERVER["PHP_SELF"] . '" method="post">
   Usuario:
   <br>
   <input type="text" name="user">
   <br><br>
   Senha:
   <br>
   <input type="password" name="senha">
   <br>
   Mensagem (140 caracteres como máximo):
   <br>
   <textarea cols=50 rows=3 name="mensagem"></textarea>
   <br>
   <br>
   <input type="submit" value="Enviar">
   </form>
   ';
}else{
   //incluo a classe Twitter
   include "twitter.php";
   $usuario_twitter = new Twitter($_POST["user"],$_POST["senha"]);
   
   //comprovo se há conexão com o API de Twitter
   if($usuario_twitter->test()){
      echo "<br>Com conexão com Twitter.";
      //comprovo se o login de usuario/senha é correto
      if ($usuario_twitter->verifyCredentials()){
         echo "<br>Usuario de twitter autenticado corretamente.";
         
         //ENTAO, VOU ENVIAR A MENSAGEM
         $usuario_twitter->updateStatus($_POST["mensagem"]);
         
         echo "<p>Mensagem Enviado!!!!</p>";
      }else{
         echo "<br>Usuario de twitter NAO autenticado.";
      }
   }else{
      echo "Sem conexão com Twitter.";
   }   
}

?>

</body>
</html>

Esperamos que se entenda facilmente com os comentários no código e com as explicações do começo deste artigo.

Como se poderá ver, se verificam várias coisas antes de mandar o post ao Twitter, no entanto poderíamos complicá-lo um pouco mais validando também se a string da mensagem não supera os 140 caracteres que permite este serviço de microblogging.

Referências: Outro detalhe que talvez melhorasse ainda mais este script seria mostrar a contagem dos caracteres escritos na área de texto, que explicamos nos artigos separadamente em CriarWeb.com.

Esperamos que este exemplo de trabalho com API de Twitter tenha sido útil aos leitores. O próximo passo que abordaremos será fazer um pequeno cliente do Twitter em PHP com funcionalidades básicas.





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

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