Obtener un comentario aleatorio en Disqus

Iniciado por .:UND3R:., 27 Mayo 2015, 16:30 PM

0 Miembros y 1 Visitante están viendo este tema.

.:UND3R:.

Hola a todos, estoy buscando la manera de obtener comentarios de forma aleatoria, he googleado pero no he encontrado algo que me sirva, mi idea es mostrar comentarios (de todos los thread) de forma aleatoria, espero que me puedan ayudar.

Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Kaxperday

#1
Hola, voy a decir algo trivial pero quizás sea porque no entendí bien tu pregunta.

Si quieres mostrar comentarios de todos los thread o de un solo thread aleatoriamente, sería tan fácil como numerarlos todos, y generar un numero aleatorio dentro de ese rango el rango sería desde 1 hasta el número de comentarios del thread, un simple script php podría servir.

Entraría en el index que cargaría con un programa, mediante webscraping obtendría las URLs de los temas, luego accedería a una de ellas aleatoriamente, y luego entraría en esa URL seleccionada cargaría su html y filtraría los comentarios por webscraping y elegiría uno al azar, con la técnica antes tachada.

Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

#!drvy

#2
Es un poco jodido el tema xD

Lo que buscas es el listPosts de apartado Threads de la API.
https://disqus.com/api/docs/threads/listPosts/

Y de ahí, tendrás que sacarlos todos y escoger uno aleatorio. Es la única manera que he visto aunque el parámetro query quizás sirva para eso.. pero en la documentación ni se molestan en explicarlo xD

Si usas PHP, Supongo que ya sabes que tienen una API para este.
https://github.com/disqus/disqus-php

Un ejemplo:

Código (php) [Seleccionar]
$private_key = 'XXXX';
$thread_id = '9999999';

require('disqusapi/disqusapi.php');
$disqus = new DisqusAPI($private_key);

$post = $disqus->threads->listPosts(array('thread'=>$thread_id));
$aleatorio = $post[rand(0,count($post)-1)];

print_r($aleatorio);


El thread_id lo sacas con listThreads del apartado Forums.

Con la API en PHP seria:
Código (php) [Seleccionar]
$id_forum = 'disqus';
$threads = $disqus->forums->listThreads(array('forum'=>$id_forum));


Siendo el $id_forum el "shortname" que obtienes al crear el forum.




Edit: Vale acabo de recapacitar, buscas todos los comentarios de todos los threads. Entonces seria mas facil.

Metodo: listPosts de Forums
https://disqus.com/api/docs/forums/listPosts/

Ejemplo con la API en PHP:

Código (php) [Seleccionar]
<?php
$private_key 
'XXXX';
$forum_id 'disqus';

require(
'disqusapi/disqusapi.php');
$disqus = new DisqusAPI($private_key);

$post $disqus->forums->listPosts(array('forum'=>$forum_id));
$aleatorio $post[rand(0,count($post)-1)];


print_r($aleatorio);


Aunque de nuevo, tendrás que sacar TODOS para obtener solo uno al final.. lo cual es una estupidez xD Pero es que no veo otra forma según la documentación de la API.

Espero que te sirva.

Saludos