Utilizar API de Twitter con PHP

Por Manuel Gutiérrez el 6 de diciembre de 2010

en: Api|Desarrollo Web

Twitter es una de las redes sociales de mayor crecimiento, como ya todos sabemos permite a los usuarios postear mensajes de una longitud reducida en número de caracteres. A través de las API de Twitter cualquiera puede crear aplicaciones que comuniquen con el servicio de la mencionada red social.

Hay un gran número de posibilidades si nos planteamos comunicar nuestro sitio web con Twitter, no me refiero a la implementación sino a las diferentes funcionalidades que podemos integrar en nuestro sitio web si decidimos comunicarlo con Twitter.

En este caso vamos a ver la opción más sencilla pero a su vez también la más utilizada, actualizar el estado de una cuenta de Twitter desde un script PHP.

Si hacemos una búsqueda en Google seguramente encontremos tutoriales que nos explican como utilizar la API de Twitter gracias al uso de la librería CURL, pero este método quedo obsoleto hace unos meses y si intentamos implementarlo recibiremos el siguiente error: “basic authentication is not supported”


< ?php
include '../../twitter.php';
$message = 'New movie ...';
$url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer)) {
echo "error!";
} else {
echo 'success!';
}
?>

Cómo acabamos de comentar este método ya no funciona ya que ahora es necesario el uso de Oauth

Para aquellos interesados en trabajar con la API de Twitter por primera vez y para aquellos que necesitan actualizar el código que ha quedado obsoleto en estos últimos meses debido al cambio, os recomiendo el siguiente artículo (en inglés).

Resumiendo un poco hay que realizar tres sencillos pasos:

1. Registrar una aplicación en: http://dev.twitter.com/apps/new. Tienes que dar a esta aplicación permisos de lectura y escritura para poder actualizar el estado de tu cuenta de Twitter.

2. Tienes que obtener 4 claves para conseguir actualizar el estado de la cuenta, estas son las claves necesarias: Consumer key, Consumer secret, Access Token (oauth_token), Access Token Secret (oauth_token_secret)

3. Descarga twitteroauth.

Ejemplo de uso (para actualizar el estado de una cuenta Twitter desde PHP):

< ?php
$consumerKey    = 'insert your consumer key';
$consumerSecret = 'insert your consumer secret';
$oAuthToken     = 'insert your access token';
$oAuthSecret    = 'insert your token secret';

require_once(twitteroauth.php');

$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
$statusMessage = 'Prueba';
$tweet->post('statuses/update', array('status' => $statusMessage));
 ?>

2 Respuestas a Utilizar API de Twitter con PHP

Avatar

Jhonathan Parra

12 de julio de 2011 a las 9:49 am

Tengo un problema con un plugins llamado “Twitter @Anywhere Plus” porque es bien simple y facil pero pide la API, cosa que no se cual es porque al crear la aplicación en Twitter me dio solo esos 4 que mencionas y 4 mas que son unos enlaces. Note que cambiaron su interfaz tambien antes daban de una vez los AuthToken y AuthSecret ahora hay que activar si se quiere usar. Mi pregunta es me podrias decir cual es la API?? O como esta constituida (caracteres, numeros)? Para ver si encuentro dicha “API”

Saludos.

Avatar

Paul

14 de septiembre de 2011 a las 7:37 pm

Este post ahorita en el 2011 esta obsoleto?? o donde de ve lo ke he posteado, me refiero a que cuenta de twitter es la ke se actualiza. perdona mi ignorancia, pero voy empezando con la api de twitter

Dejar un comentario