Vamos a usar la API de twitter en PHP con la libreria TwitterAPIExchange y como ejemplo obtendremos los ultimos 10 tweets de un usuario.
Aplicacion de Twitter
Antes de continuar debemos crear una aplicacion de twitter y contar con los 4 códigos:
- Access token
- Access token secret
- Consumer key
- Consumer secret
La libreria
La libreria TwitterAPIExchange la podemos descargar desde GitHub:
- Pagina del Proyecto: https://github.com/J7mbo/twitter-api-php
- Clase TwitterAPIExchange: https://github.com/J7mbo/twitter-api-php/blob/master/TwitterAPIExchange.php
Solo necesitamos el archivo TwitterAPIExchange.php
Codigo
Paso 1: Crear un archivo PHP
Paso 2: Incluir la libreria TwitterAPIExchange.php
Paso 3: Crear un array con la configuracion, que contiene nuestros 4 codigos:
[code language=”php”] $settings = array(‘oauth_access_token’ => "1543699680-5NpaCZTD0lqc1dEw3rUbsGI3eFeyq1BqFAAhAe0",
‘oauth_access_token_secret’ => "UMyBpQzVSXGCLd8pnmiiWSa9ry1zWpiNhFQYAqtMjHEKT",
‘consumer_key’ => "8uQH9YB5K1gWrVfyLaPbXvUTw",
‘consumer_secret’ => "t5zd7FDYVkq9MGdwLZqkofPET6vDSR6PI4fmAQxDwzq4QWPXIm"
);
[/code]
Paso 4: Escribir la URL de procesamiento de Twitter
[code language=”php”] $url = ‘https://api.twitter.com/1.1/statuses/user_timeline.json’;[/code]
Paso 5: Parametros de la solicitud
[code language=”php”] $fields = ‘?screen_name=evilnapsis&count=10’;[/code]
Donde especificamos screen_name es el nombre de usuario de twitter y count es el numero de Tweets solicitados.
Paso 6: Crear una instancia de TwitterAPIExchange y pasar como parametro los codigos de acceso.
[code language=”php”] $twitter = new TwitterAPIExchange($settings);[/code]
Paso 7: Enviar los datos a Twitter y obtener los resultados en una variable,
[code language=”php”] $data = $twitter->setGetfield($fields)->buildOauth($url, "GET")->performRequest();[/code]
Paso 8: Decodificar los datos JSON y hacer un recorrido:
[code language=”php”] $tweets = json_decode($data);</pre>foreach($tweets as $tweet){
echo $tweet->created_at." – ".$tweet->text."<br>";
}
[/code]
En este caso hacemos uso de los atributos created_at y text del objeto Tweet.
Mas informacion sobre el objeto tweet: https://dev.twitter.com/overview/api/tweets
Poniendo todos los pasos juntos obtenemos:
[code language=”php”] <?phpinclude "TwitterAPIExchange.php";
$settings = array(
‘oauth_access_token’ => "1543699680-5NpaCZTD0lqc1dEw3rUbsGI3eFeyq1BqFAAhAe0",
‘oauth_access_token_secret’ => "UMyBpQzVSXGCLd8pnmiiWSa9ry1zWpiNhFQYAqtMjHEKT",
‘consumer_key’ => "8uQH9YB5K1gWrVfyLaPbXvUTw",
‘consumer_secret’ => "t5zd7FDYVkq9MGdwLZqkofPET6vDSR6PI4fmAQxDwzq4QWPXIm"
);
$url = ‘https://api.twitter.com/1.1/statuses/user_timeline.json’;
$fields = ‘?screen_name=evilnapsis&count=10’;
$twitter = new TwitterAPIExchange($settings);
$data = $twitter->setGetfield($fields)->buildOauth($url, "GET")->performRequest();
$tweets = json_decode($data);
foreach($tweets as $tweet){
echo $tweet->created_at." – ".$tweet->text."<br>";
}
?>
[/code]
Resultado
Conclusión
Ahora podemos hacer pruebas cambiando los valores.