API para acceder a Twitter en PHP

Para un proyecto que estoy desarrollando para el móvil con nuestro amigo Raúl Jimenez, nos ha tocado lidiar con Twitter desde PHP. Evidentemente estaba claro que tendrían que existir librerias de código que ya tengan los métodos preparados, pero me he llevado una sorpresa muy agradable al trastear con ésta Open Source: PHP Twitter API Client de lab.arc90.com.

La librería emplea Curl de PHP para las comunicaciones con servidores externos, protocolos, etc… En la instalación base de WAMP (usamos WampServer) no viene activada, pero sí que es una dll que está disponible y que podemos poner a funcionar perfectamente o bien desde el php.ini o bien si usamos una versión reciente de WAMPServer, desde las opciones del menú desplegable de esta aplicación.

Una vez que tenemos curl funcionando en nuestro servidor local, hacer consultas es algo tan sencillo como esto:

getFriends();  
    // Podríamos pedirla en formato XML
    // $response = $test ->getFriendsTimeline('xml');    
    
    // Sacamos por pantalla el string del JSON recibido  
    echo $response->getData() . "n";  
  
    // Podemos detectar un error en la respuesta desde twitter (401, 503, etc)  y por tanto
   // gestionarlo desde PHP
    if($response->isError())  
    {  
        echo $response->http_code . "n";  
    }  
}  
catch(Arc90_Service_Twitter_Exception $e)  
{  
    // Sacamos el mensaje de la excepción (parametro no válido, etc)  
    print $e->getMessage();  
}  
?>

Además he probado a emplear json_decode que es el método que viene preinstalado con PHP para el manejo de JSON, y funciona perfectamente el parseo de String a array de objetos, ya que la respuesta parece cumplir a rajatabla los estándares impuestos para JSON.

También he probado la llamada pidiendo los datos en formato XML, y el XML que devuelve es bastante limpio. Eso sí, no he visto que se pueda filtrar la cantidad de campos a obtener en la respuesta, cosa que si creo que podría ser útil.

La gente de arc90 se lo han currado (parece que concretamente ha sido Matt Williams) con una clase muy bien documentada, con unos métodos clarísimos y muy sencilla de usar.

Espero en no mucho tiempo pode postear aquí el motivo del uso de esta combinación para el proyecto que tenemos entre manos desde BlocketPC.

Tags