API para acceder a Twitter en PHP
17 de July, 2008. Escrito por [Q]boss en PHP + MySQL, Recursos

Para un proyecto que estoy desarrollando para el móvil con nuestro amigo Raúl Jimenes, 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 esta Open Source: PHP Twitter API Client de lab.arc90.com.
La librearí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 si 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:
-
<?php
-
require_once('Arc90/Service/Twitter.php');
-
-
// usuario y contraseña son los valores del login para Twitter con los que queremos trabajar
-
$test = new new Arc90_Service_Twitter('usuario', 'contraseña');
-
-
try
-
{
-
// Pedimos la lista de amigos en formato JSON
-
$response = $test ->getFriends();
-
// Podríamos pedirla en formato XML
-
// $response = $test ->getFriendsTimeline('xml');
-
-
// Sacamos por pantalla el string del JSON recibido
-
-
// Podemos detectar un error en la respuesta desde twitter (401, 503, etc) y por tanto
-
// gestionarlo desde PHP
-
if($response->isError())
-
{
-
}
-
}
-
catch(Arc90_Service_Twitter_Exception $e)
-
{
-
// Sacamos el mensaje de la excepción (parametro no válido, etc)
-
}
-
?>
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, aunque 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 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.
Comments
Leave a Reply