Siedrix

RSS Twitter

Usando el API de Noticias Hacker

Desde la semana pasada @DFect y yo hemos estado trabajando para tener un API en Noticias Hacker, lo cual ha sido una tarea interesante debido a que yo no sabía nada de Python antes de este proyecto. El API lo basamos en lo que tiene Reddit de API.

El concepto es muy sencillo, está basado en que a todas las páginas les puedas agregar .json al final. Con esto, en vez de recibir la página en formato normal, recibes la información importante en json. Además si pasas un callback por get te regresa jsonp lo cual permite pedirla desde cualquier página de Internet por medio de Javascript.

Por el momento lo tenemos funcionando en la página principal (http://www.noticiashacker.com/), en la página de nuevo (/nuevo) y en la página donde se muestran los comentarios (/noticias/*). Si quisieran tener la portada en json podrían poner http://www.noticiashacker.com/.json y si desean llamarla desde Javascript en algún sitio pueden usar http://www.noticiashacker.com/.json?callback=? Lo estaremos extendiendo a distintas páginas del sitio.

Para utilizar de manera fácil y sencilla la funcionalidad de jsonp chequen la función getJSON de jquery y este ejemplo de código que les permite tener en consola la estructura de la portada de NH en su consola de Javascript en cualquier sitio que tenga jquery:

$.getJSON('http://www.noticiashacker.com/.json?callback=?',function(data){
     console.log(data);
});

En esta página tengo un blogpost dedicado únicamente a esta función.

Entonces ¿qué podemos hacer con esto? Podemos hacer widgets para WordPress, analizar la información, desarrollar un cliente para android y tantas cosas como nuestra imaginación le interese.

Lo primero que se me ocurrió hacer es hacer un pequeño script de php que se llama cada hora y guarda en una base de datos. Además agregar una página de Internet donde se pueden pedir la portada de NH en las últimas 24 horas. La pueden consultar en http://hack.org.mx/noticias-hacker/last.php y si le agregan un callback tienen el mismo poder para llamarla desde una página de Internet (MetaAPI FTW!).

Es el equivalente a tener un archivo histórico de todo lo que sucede en Noticias Hacker para utilizarlo como deseemos.

Una vez realizado esto, decidí usar un poco de Javascript trickster y hacer un dashboard donde se presentara de manera entendible para un humano esta información. Agregue calcular diferenciales entre las posiciones, votos y comentarios de NH hora por hora. Lo pueden checar aquí y pueden ver el código en mi Github.

Estos son los primeros pasos y las primeras señales de un API completo. Los siguientes pasos son agregar .json a los perfiles y conversaciones, eventualmente tener la posibilidad de compartir noticias y votar. Nuestra imaginación es el límite.

Quedo a su disposición para preguntas sobre el API. Dejen sus comentarios aquí o en @Siedrix.

Related posts:

  1. Usando librerias de jQuery…
  2. Construyendo json con Zend
  3. Qué es un Hacker
  4. getJson y un par de aplicaciones
  5. Agregando historia a javascript

1 Comment to Usando el API de Noticias Hacker

  1. March 22, 2011 at 6:57 pm | Permalink

    Se ve muy bien, yo les recomendaria que su API tuviera versiones, así con features nuevos en el API no rompen a clientes “viejos” que no sean capaces de actualizarse rápido,; bueno solo un comentario para mejorar el API.

    Buen trabajo. saludos

Deja tu Opinión

Puedes agregar tags de HTML como: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">