Cómo enviar mensajes a una cuenta de Twitter desde tus propios scripts PHP y utilizando el API de Twitter.
Como vimos anteriormente, trabajar con el API de Twitter resulta bastante sencillo cuando utilizas alguna clase PHP que sirva de puente entre el API y tus scripts PHP. Así que nosotros para explicar el API de Twitter estamos utilizando la Twitter Class, un script de código abierto que ya hemos comentado en el artículo Utilizar una librería PHP para trabajar con el API de Twitter.
El paso que queremos explicar, usando la librería Twitter Class, consta de pocas líneas de código. Realmente veremos que el propio envío del mensaje a Twitter es una única sentencia PHP, una llamada al método updateStatus() de la mencionada clase, aunque nosotros hemos adornado este script para darle un poco más de empaque y de paso aprender algunas otras cosas nuevas del API. En concreto, veremos que existen algunos métodos interesantes, implementados en la clase PHP que estamos utilizando, para saber si tenemos conexión con el API de Twitter y si el usuario que hemos utilizado está correctamente autenticado.
Métodos de Twitter Class que vamos a utilizar
Estos son los métodos que no conocemos todavía de la librería PHP para trabajo con Twitter y que vamos a utilizar.
test():
Este método sirve para comprobar si existe comunicación con el API de Twitter. No recibe parámetros y simplemente devuelve un boleano indicando si hay o no conexión.
verifyCredentials():
Este método tampoco recibe parámetros y así como el anterior, devuelve un boleano con el que sabremos si el usuario que ha iniciado sesión con el API está correctamente autenticado. Como podemos imaginar, devuelve true si el login y contraseña corresponden con los de un usuario de Twitter. False si la autenticación no tuvo éxito.
$obj_twitter = new Twitter("usuario","clave");
updateStatus():
El método updateStatus() recibe como parámetro una cadena de caracteres y la envía como post en la cuenta del usuario autenticado. Es decir, envía un mensaje a Twitter con la cuenta del usuario con el que instanciamos la el objeto de la clase Twitter Class. Recordar que el mensaje debe medir como máximo 140 caracteres.
Formulario para mandar un mensaje a Twitter desde PHP
Ahora que ya conocemos los métodos con los que necesitamos trabajar en este ejemplo, veamos el script PHP que podríamos utilizar para enviar mensajes a Twitter. En esta práctica vamos a hacer un formulario que tendrá los campos de autenticación a Twitter y un textarea para escribir el mensaje a enviar.Al enviar el formulario comprobaremos si hemos recibido los datos de autenticación, si existe conexión con Twitter y si el login del usuario se ha podido realizar correctamente. En caso que todo haya ido bien, se enviará el mensaje.
El código es el siguiente:
<html>
<head>
<title>Enviando mensajes a Twitter desde PHP</title>
</head>
<body>
<?php
if (!$_POST || $_POST["user"]=="" || $_POST["clave"]==""){
//si no recibo datos de formulario, muestro un formulario con los datos a rellenar
echo '
<form action="' . $_SERVER["PHP_SELF"] . '" method="post">
Usuario:
<br>
<input type="text" name="user">
<br><br>
Clave:
<br>
<input type="password" name="clave">
<br>
Mensaje (140 caracteres como máximo):
<br>
<textarea cols=50 rows=3 name="mensaje"></textarea>
<br>
<br>
<input type="submit" value="Enviar">
</form>
';
}else{
//incluyo la clase Twitter
include "twitter.php";
$usuario_twitter = new Twitter($_POST["user"],$_POST["clave"]);
//compruebo si hay conexión con el API de Twitter
if($usuario_twitter->test()){
echo "<br>Con conexión con Twitter.";
//compruebo si el login de usuario/contraseña es correcto
if ($usuario_twitter->verifyCredentials()){
echo "<br>Usuario de twitter autenticado correctamente.";
//ENTONCES, VOY A ENVIAR EL MENSAJE
$usuario_twitter->updateStatus($_POST["mensaje"]);
echo "<p>Mensaje Enviado!!!!</p>";
}else{
echo "<br>Usuario de twitter NO autenticado.";
}
}else{
echo "Sin conexión con Twitter.";
}
}
?>
</body>
</html>
Esperamos que se entienda fácilmente con los comentarios en el código y con las explicaciones del principio del artículo.
Como se podrá ver, se comprueban varias cosas antes de mandar el post a Twitter, pero todavía lo podríamos complicar un poco más validando también si el string del mensaje no supera los 140 caracteres que permite este servicio de microblogging.
Esperamos que este ejemplo de trabajo con el API de Twitter haya sido de utilidad para los lectores. El siguiente paso que abordaremos será hacer un pequeño cliente de Twitter en PHP con funcionalidades básicas.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...