17 años en Internet

20 mayo 2010

Publicar en Twitter por php

Fuente anieto2k

Revisando un proyecto personal que tengo algo aparcado (un clon de pcliga.com), me picó la curiosidad por aplicarle integración con Twitter. La idea que tengo es que cuando tu equipo realice un fichaje, entre en puestos de ascenso o pase de ronda en copa (por poner unos ejemplos), se publique una notificación automática en tu cuenta de Twitter. Así que tras mirar en Google encontré la siguiente función:
function publicarTwitter($usuario, $password, $texto)
{
$host = "http://twitter.com/statuses/update.xml?status=".urlencode(stripslashes(urldecode($texto)));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$usuario:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);

$result = curl_exec ($ch);
$resultArray = curl_getinfo($ch);
curl_close($ch);

echo "Return: ".$resultArray['http_code'];
}

Para publicar bastaría con invocar:
publicarTwitter("miUsuario", "miPasword", "Prueba, 1, 2, 3...");

Nota: si te sale el error "Call to undefined function curl_init()" seguramente no tienes instalado el paquete php5-curl. En ese caso haz:
sudo apt-get install php5-curl
apache2ctl restart

2 comentarios:

Si te ha gustado la entrada o consideras que algún dato es erróneo o símplemente deseas dar algún consejo, no dudes en dejar un comentario. Todo feedback es bienvenido siempre que sea respetuoso. También puedes contactarme vía Twitter @Hamster_ruso si lo consideras necesario.