Graphic PIZiadas

Graphic PIZiadas

My world is in..

Access JAVA API Bitacoras

The API de Bitacoras soporta peticiones GET y POST que permiten acceder a la información disponible de forma flexible. El lenguaje JAVA aporta interesantes recursos gráficos que pueden ser usados para representar la información.

En estas líneas se introduce mediante un ejemplo de acceso GET que puede servir de punto de partida para un programador que quiera desarrollar una aplicación propia, como por ejemplo una que permita obtener la información de la portada para realizar un sistema de navegación adaptado al segregador.

Para poder acceder al API es necesario disponer de una clave personal que suministra Bitacoras a los usuarios registrados. Esta clave se puede almacenar como una cadena de texto.

En nuestro caso la variable la denominaremos “personalKey”:

String personalKey=”CLAVE_A_SUMINISTRAR_POR_BITACORAS_A_CADA_USUARIO”;

Esta clave es de uso obligatorio en cualquier petición que se realice. La petición la construimos es forma de un String o cadena de caracteres indicando el protocolo de acceso (http), el servidor al que realizamos la petición (api.bitacoras.com), el tipo de información que se desea (portada) así como la clave (key) y el formato en que se desean recibir los datos (format)

String peticionUrl = “http://api.bitacoras.com/portada/key/” + personalKey + “/format/xml”;

The variable “url” sirve por tanto para realizar la petición que se puede implementar mediante una función. Esta función o procedimiento se pretende, en este sencillo ejemplo, que nos devuelva un Vector con las líneas de texto en el formato deseado; en este caso se solicitan en XML.

public static Vector httpPeticion(String peticionUrl) {

Vector v=new Vector();

try {

URL url = new URL(peticionUrl);

BufferedReader canalDatos = new BufferedReader(

new InputStreamReader(url.openStream()));

String inputLine;

while ((inputLine = canalDatos.readLine()) != zero) {

//System.out.println(inputLine);

v.addElement(inputLine);

}

canalDatos.close();

} catch (IOException e) {

e.printStackTrace();

}

return in;

}

Function “httpPeticion” abre un canal de datos mediante un buffer de lectura al que se le indica la fuente de datos mediante un URL formado a partir de nuestra cadena de texto “peticionUrl”.

En un bucle “while” se leen las líneas y se van introduciendo en el vector que devuelve la función. Estas líneas se leen mientras no se han terminado las que suministra el “canalDatos”.

Estas líneas XML utilizan un conjunto de etiquetas que permiten segmentar los datos. En nuestro ejemplo, we

  • <item>
  • <author>Nombre del autor</author>
  • <alias>Alias del usuario</alias>
  • <url>http://…..</url>
  • <votos>137</votos>
  • <bitacora>http://….</bitacora>
  • <nombre>Nombre bitácora</nombre>
  • <titulo>Título de la entrada</titulo>
  • <contenido>Primeras líneas del contenido…</contenido>
  • <fecha>1259688379</fecha>
  • </item>

La utilización de un vector puede no es el mejor camino para la resolución del problema, pero es una forma simple de almacenar la información y comenzar a experimentar.

Espero que os sea útil este ejemplo. ¿Eres programador y te animas a experimentar?.