Usando la API de Twitter en PHP


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:

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”] <?php
include "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&amp;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

tw-result

 

Conclusión

Ahora podemos hacer pruebas cambiando los valores.

 

 

 

Leave a comment