logueo y consulta Twitter OAuth API V1.1

Autenticación de una línea de tiempo del usuario de Twitter OAuth API V1.1

Este tutorial está diseñado para ayudar a cualquier persona que esté usando o quiere crear un feed de Twitter personalizado que necesita para autenticar acceso de sólo lectura básica para cualquier línea de tiempo de usuario público con Twitter OAuth, API V1.1.
API V1.1 ha estado alrededor por un tiempo, pero a partir de
5 º 2.013 de marzo11 de junio 2013, será depreciado y eliminado. Todas las vías de acceso existentes V1 (o "extremos")
seráAhora se apagarán - por lo que si usted está solicitando tweets de un vínculo que se parece a http://api.twitter.com/1/statuses/user_timeline/username.json entonces usted tendrá que migrar a 1.1 tan pronto como sea posible . Acceso a los puntos finales antiguos directa dará un error similar al siguiente: El Twitter REST API v1 ya no está activa. Por favor migrar a API v1.1.https://dev.twitter.com/docs/api/1.1/overview, código: 68
Hay dos pasos para el proceso de autenticación OAuth.
  1. Configuración de una solicitud en Twitter centro dev y conseguir un manojo de llaves.
  2. Realizar una llamada de servidor para el feed de Twitter 1.1, el uso de estas claves para autenticar. Voy a usar el PHP biblioteca TwitterOAuth

Paso 1 - Configurar una aplicación Twitter

Este proceso es sencillo y usted debe tener un juego de llaves a los pocos minutos.
  1. Visita https://dev.twitter.com/apps/ e inicie sesión con su nombre de usuario y contraseña de Twitter. Esto no tiene por qué ser el nombre de usuario o la contraseña de la corriente que necesita el acceso a sólo una cuenta de Twitter que controles.
  2. Seleccione "Crear nueva aplicación" e introduzca los detalles de la aplicación.
    1. El nombre y la descripción puede ser cualquier cosa que te gusta de verdad, pero no se puede usar 'Twitter' en el nombre.
    2. El campo de página web puede ser su sitio web principal y no tiene que ser el lugar donde se encuentran su feed de Twitter o feeds.
    3. URL de devolución de llamada se puede dejar vacío
  3. Introduzca la información y haga clic CAPTCHA de crear
  4. En la siguiente pantalla de detalles, haga clic en "crear mi token de acceso". Es posible que tenga que actualizar la página después de unos segundos si no aparece automáticamente.
  5. Tome nota de la clave del Consumidor, secreto Consumidor, token de acceso y acceso secreto token como destacan a continuación.
twitter-feed-autenticación step2
Una vez que tenga una configuración de aplicación dentro de Twitter, esto se puede utilizar para múltiples líneas de tiempo de usuario en múltiples sitios web - que no es necesario configurar una aplicación por cada cuenta de Twitter o la línea de tiempo del usuario. Sin embargo los límites de velocidad se establecen en 180 solicitudes por 15 minutos ventana, por ficha de acceso.

Paso 2 - Autenticación del RSS Twitter

En primer lugar, diríjase a https://github.com/abraham/twitteroauth y descargar todos los archivos.Usted sólo va a tener que utilizar un puñado de ellos para esta autenticación básica, sino que también podría descargar toda la biblioteca. Una ventaja clave de hacer todo esto en PHP y recomendado por Twitter es que sus tokens de acceso y las claves son enviados en el servidor y no es visible para el cliente.
A continuación, cree un nuevo archivo php, por ejemplo conseguir-tweets.php y utilizar el siguiente código PHP, la sustitución de las 4 teclas, gorjeo nombre de usuario y el número de tweets que quieren pantalla ot. Descargar este archivo junto con la biblioteca TwitterOAuth a una carpeta en el servidor Web y la prueba de conseguir-tweets.php
El PHP:

<?php
session_start();
require_once("twitteroauth/twitteroauth/twitteroauth.php"); //Path to twitteroauth library
$twitteruser = "twitterusername";
$notweets = 30;
$consumerkey = "12345";
$consumersecret = "123456789";
$accesstoken = "123456789";
$accesstokensecret = "12345";
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);
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);
echo json_encode($tweets);
?>



Hooray! usted debe tener los últimos tweets que muestran en. formato JSON. Se podría, por supuesto, obtener tweets a la producción directa de PHP en HTML, pero. Json será útil para cualquier migración de API V1 JavaScript feeds de Twitter.
Echa un vistazo a mi artículo jQuery si usted necesita para crear y estilo de un feed de Twitter de encargo . Si desea crear un feed de Twitter de búsqueda personalizado en lugar de una línea de tiempo de alimentación del usuario, ver a mi búsqueda de Twitter tutorial
Nota 1: Asegúrese de que tiene cURL habilitado en la configuración del servidor que es requerido por la biblioteca OAuth Twitter
Nota 2: Los nuevos límites de velocidad para V1.1 para plazos de usuario son 180 solicitudes por cada ventana de 15 minutos. Dirección IP basada limitado ya no se aplica como lo hizo con las solicitudes no autenticadas. Así que si usted tiene un alto volumen de visitantes a su sitio web, o si desea utilizar el mismo tokens de acceso a través de múltiples sitios y diferentes feeds de Twitter, entonces es probablemente un valor de configuración de almacenamiento en caché programado de tweets .

3 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...

CommentFB