Trabajar con la API de Twitter en PHP

Estos días por alguna extraña razón me estoy dedicando a las API’s, y como no podia faltar voy a explicar un uso básico de la API de twitter.

Empezaremos bajando la Class de Twitter

En el primer ejemplo veremos el TimeLine de Twitter, lo primero que tenemos que hacer es crear el objeto:

$tw = new Twitter();

y usaremos la función getPublicTimeLine() para acceder al Timeline

<?php
include_once('twitter.php');

/* Ejemplo 1: TimeLine */
$tw = new Twitter();

$timeline = $tw->getPublicTimeLine();

echo '<pre>';
print_r($timeline);
echo '</pre>';

?>

Como veis nos devuelve un array con lo que ahora sabemos a que claves tenemos que acceder para sacar los datos que nos interesan así que podriamos hacer algo más prolijo así:

include_once('twitter.php');

$tw = new Twitter();

$timeline = $tw->getPublicTimeLine();

foreach ($timeline as $tweet)
{
echo 'User: '.$tweet['user']['name'].'<br/>
Text: '.$tweet['text'].'<br/>
Source: '.$tweet['source'].'<br/>
Date: '.date('d-m-Y', $tweet['created_at']).'<br/><br/>';
}

En el segundo ejemplo aprenderemos a loguear una cuenta en Twitter y acceder al timeline de nuestros amigos, al de un amigo en específico, a nuestro timeline o ver los amigos de alguien.

Ahora al iniciar el objeto tenemos que pasarle dos parámetros (usuario, contraseña)

$tw = new Twitter('user', 'pass');

Usaremos 3 funciones:

– getFriendsTimeline(): nos devuelve el timeline de nuestros amigos
– getUserTimeline(): Sin parámetro nos devuelve nuestro timeline, podemos agregar el nombre de un usuario para recivir su timeline.
– getFriends(‘user’): Nos da la lista de amigos de el user.

<?php
include_once('twitter.php');
/* Ejemplo 2: Auth in Twitter */

$tw = new Twitter('user', 'pass');

$friendtweet = $tw->getFriendsTimeline(); //Timeline de amigos
$mytweet = $tw->getUserTimeline(); //Mi timeline
$dragontweet = $tw->getUserTimeline('DragonJAR'); //El Timeline de dragon
$exactlimonfriends = $tw->getFriends('exactlimon'); //Los amigos de exactlimon.

echo '<pre>';
echo print_r($friendtweet);
echo '</pre>';
?>

EL último ejemplo que trataremos hoy nos enseña como enviar un tweet, además agregaremos un par de comandos para manejar algunoos errores.

Las funciones nuevas a usar son:
– test(): Comprueba que haya conexión con twitter.
– verifyCredentials(): Comprueba que user y pass son correctos.
– updateStatus: Envia el tweet.

<?php
include_once('twitter.php');

/* Ejemplo 3: Enviando mensajes a twitter */
$tw = new Twitter('user', 'pass');

if ($tw->test()) { //comprobamos conexión
if($tw->verifyCredentials()){ //comprobamos user y pass
$tw->updateStatus('menasje de prueba con la API twitter');
echo 'Mensaje enviado';
} else
echo 'Usuario o contraseña incorrectas';
} else {
echo 'No hay conexión con twitter';
}
?>

Como veis no hay mucho que explicar, esta API es muy simple he intuitiva así que os animo a probarla.

4 respuestas a «Trabajar con la API de Twitter en PHP»

  1. ummm se podría hacer una web tipo twiter pero con interfas mejorada y alguna que otra cosilla extra para diversión de los users.. umm no se, un juego online y el twiter, o tv online y al lado el twitter..

    Buena info 🙂

  2. de echo hay bastantes clientes web twitter… app de escritorio y demás..

    se ve que twitter en si no agrada demasiado (al menos a mi no >_<)

  3. Saludos me da error de autenticación:
    Uncaught exception ‘TwitterException’ with message ‘Basic authentication is not supported’ in /home/panasumi/public_html/twitter.php:204 Stack trace: #0 /home/panasumi/public_html/twitter.php(486): Twitter->doCall(‘statuses/friend…’, Array, true, false) #1 /home/panasumi/public_html/index.php(303): Twitter->getFriendsTimeline() #2 {main} thrown in /home/panasumi/public_html/twitter.php on line 2

  4. Hola dikson.
    si, resulta que este post se creó antes de que Twitter implementara la autentificación oAuth.

    Así que esta clase quedó inutilizable, a menos que hayan lanzado una actualización, cosa que no se.

    Si quieres aprender como se hace la nueva utentificación oAuth con la api de twitter el mejor lugar es: http://dev.twitter.com/pages/basic_to_oauth

    Tengo que ver si cuelgo un tutorial de como usar la nueva api oficial.

Los comentarios están cerrados.