twitter, como trabajar y conectarnos con la nueva api 1.1

Abandonamos la api 1.0 y migramos a la 1.1

Antes que nada, vamos a necesitar de :

OAuth.php
TwitterOAuth.php


luego como es costumbre de frente al codigo :

NOTA : este código se lee desde ajax, en tiempo de ejecución desde una llamada a un boton buscar

<?php
session_start();
require_once("twitteroauth.php"); //Path to twitteroauth library

$buscar = htmlentities($_POST["buscar"], ENT_QUOTES , "UTF-8");
$tipo = htmlentities($_POST["tipo"], ENT_QUOTES , "UTF-8");
$nro_tweets = 100;

$consumerkey = "kEY";
$consumersecret = "SECRETKEY";
$accesstoken = "TOKEN";
$accesstokensecret = "SECRET";

 function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}

$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);

//timeline
if($tipo == "usuario")
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json",
array('screen_name'=>$buscar,'count'=>$nro_tweets));
else
$tweets = $connection->get("https://api.twitter.com/1.1/search/tweets.json",
array(   'q' => $buscar , 'count' => $nro_tweets ));
echo json_encode($tweets);
//echo json_decode($tweets);

?>

4 comentarios:

  1. Hola,

    hasta el momento he conseguido mostrar todos los tweets que he publicado con mi cuenta usando esto:

    $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);

    Pero me gustaría saber si hay alguna forma de mostrar todos los tweets que contengan mi nombre de usuario @twitteruser y que hayan publicado otros usuarios.

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola Julio,

      La documentación para desarrolladores de twitter nos cuenta lo siguiente: " search/tweets.json Devuelve una colección de importantes Tweets que coincidan con una consulta especifica." Si bien no indexa todos los tweets, aplica para la mayoría.

      En el código compartido, tengo una variable $tipo, si esta contiene "usuario", entra al if e invoca a la api para la busqueda por perfil de usuario, de lo contrario hace una busqueda general con la palabra, hashtag o nombre de usuario mencionados en tweets de seguidores como es tu caso.

      mas información :
      https://dev.twitter.com/docs/api/1.1/get/search/tweets

      Eliminar
  2. Tras horas buscando, os dejo la forma más fácil que he encontrado para mostrar el timeline de un usuario:

    https://github.com/davidmigloz/Twitter-Timeline

    Es muy configurable en cuanto a la información que quieres mostrar y puedes personalizar fácilmente el código html que genera. Y además, está en español.

    Un saludo

    ResponderEliminar

Todos los comentarios son bien recibidos...