entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Como puedo saber cuales son las últimas 50 tendencias con el SDK de Twitter

Buenas tardes, estoy buscando información sobre el desarrollo con el SDK de Twitter pues quiero sacar las ultimas 50 tendencias o hashtag que esten en uso en twitter para buscando semejansas usarlos en mi noticia pero no encuentro como sacar ese dato o algun ejemplo o tutorial de trabajo con twitter desde php o javascript
Saludos Dairon

1 Respuesta

3votos

white Puntos75880

No estaba muy al tanto de la api de twitter, acabo de leerla rapidamente y parece que lo que buscas es:

https://dev.twitter.com/rest/reference/get/trends/place

donde tendrías que especificar el campo WOEID que es el id de la localidad como puede ser: Global, Ecuador, Cuba, Argentina, etc.

Esta peticion nos devuelve 10 tendencias como máximo, si deseas más me parece que tendras que buscar en mas localidades, para ello podrías usar la api trends/available para obtener las localidades disponibles, intenta buscar en unas 5 localidades incluyendo en Global.

aca te dejo un código de ejemplo que medio probé:

<?php

define('CONSUMER_KEY', 'xxx');
define('CONSUMER_SECRET', 'xxx');
define('ACCESS_TOKEN', 'xxx-xxx');
define('ACCESS_TOKEN_SECRET', 'xxx');

use Abraham\TwitterOAuth\TwitterOAuth;

$connection = new TwitterOAuth(
    CONSUMER_KEY,
    CONSUMER_SECRET,
    ACCESS_TOKEN,
    ACCESS_TOKEN_SECRET
);
$woeids = array();
$trending_topics = array();
$required_locations = array(
    'ecuador',
    'argentina',
    'united states',
    'spain',
    'mexico'
);
$trends_available = $connection->get('trends/available');

foreach($trends_available as $location) {
    // agregamos tendencias globales
    if($location->name == 'worldwide') {
        $woeids[] = $location->woeid;
    }

    // agregamos tendencias de Ecuador, Argentina, Estados unidos, etc.
    if($location->placeType->name == 'Country' &&
       in_array(strtolower($location->name), $required_locations)) {
        $woeids[] = $location->woeid;
    }
}

foreach($woeids as $woeid) {
    $trending = $connection->get('trends/place', array('id' => $woeid));

    if(is_array($trending[0]->trends)) {
        foreach($trending[0]->trends as $trend) {
            $trending_topics[] = $trend->name;
        }
    }
}

echo '<pre>' . print_r($trending_topics, 1) . '</pre>';

valor devuelto:

Array
(
    [0] => Ricky Martin
    [1] => #SimonDice
    [2] => #VentajasDeSerSoltero
    [3] => #MeLoEnseñoElRock
    [4] => Hoy Argentina
    [5] => #TrasnochePop
    [6] => Felices 15 Caro Domenech
    [7] => #MeEnamoraQue
    [8] => Galeano
    [9] => Stan Lee
    [10] => #SemanaFinalBailamos
    [11] => Stan Lee
    [12] => Kiwi
    [13] => David Acurio
    [14] => #TeenWolfSeason5
    [15] => Eduardo Vargas
    [16] => Ricky Martin
    [17] => #2JulioLaLuchaSigue
    [18] => #QuieroQueSeQuedeBenit
    [19] => #15YearsOfAB
    [20] => #VentajasDeSerSoltero
    [21] => #SyntaxError
    [22] => Stan Lee
    [23] => #SiYoPudiera
    [24] => #KennyContesta
    [25] => #SoyJaryArmy
    [26] => Siri
    [27] => Héctor Moreno
    [28] => Donald J. Trump
    [29] => FIME
    [30] => #FelizMartes
    [31] => #AndaYaQueCalor
    [32] => Perú
    [33] => Vargas
    [34] => #AndaLevantaCanalFiestaM30
    [35] => Stan Lee
    [36] => #Chile
    [37] => Alfonso de Julios
    [38] => #TeenWolfSeason5
    [39] => Jackson Vroman
    [40] => Siri
    [41] => #SummerACeleb
    [42] => #TeenWolfSeason5
    [43] => #TheBachelorette
    [44] => #WhoIsBurningBlackChurches
    [45] => Cookie Monster
    [46] => #WaitForItOniTunes
    [47] => Mike Trout
    [48] => Malia
    [49] => Coscu
)

libreria usada: https://twitteroauth.com

0voto

dairon comentado

gracias mano, quiero ver si ago algo para usarlo con javascript

0voto

dairon comentado

Nunca he trabajado con composer, puse tu código white y no me compiló :( seguiré intentando

0voto

white comentado

intenta instalar composer en tu equipo, agregalo al path dependiendo si es window o linux.

ve a donde tienes tus archivos web locales, abre tu consola y usa estos comandos:

cd /var/www/html/twitter-trending/

ó

cd C:/xampp/htdocs/twitter-trending

composer require abraham/twitteroauth

se te crearan 2 archivos y una carpeta ( vendor, composer.json, composer.lock )

crea un fichero .php y carga la librería:

<?php

    require_once(dirname(__FILE__) . '/vendor/autoload.php');

    // aca va el código de mi respuesta.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta