Implementando un poco de JSON y MD5 con el API de Marvel Comics (Parte 1/3)

Si, si lo sé, soy un gran fan de los comics, cuando me enteré de que Marvel Comis sacó un API para acceder a sus gigantescas bases de datos me sentí sumamente emocionado y entre más me metía a la documentación más me emocionaba de las muchas opciones que podría tener.

Antes de continuar hay dos cosas por aclarar. La primera, si deseas expandir la funcionalidad de este ejercicio hasta crear una aplicación factible de publicación, entonces DEBES leer las normas de uso, las más importantes es que no puedes lucrar con los datos de ninguna manera y siempre debes hacer referencia a los derechos por parte de Marvel.

Para efectos de estos tres artículos esto es lo que haremos:

Parte 1: Obtener la información y vínculos adecuados, las claves de acceso y estructura básica del proyecto.

Parte 2: Agregar un paquete de NuGet para manejar JSON, una clase de encriptación con MD5 y una clase de conversión de texto a voz.

Parte 3: Unificación de elementos en una solución final

Ya sabes que encontrarás en cada artículo ¿ya comenzamos?

Registro y llaves de acceso

Entra a http://marvel.developer.com y crea una nueva cuenta de usuario. El proceso de alta es demasiado sencillo, nada del otro mundo. Al final lo que necesitas es tener los datos de acceso del API, para ser más específico, tu llave pública y tu llave privada.

Marvel

Una vez que ya tienes la llave de acceso público, puedes ir a la documentación interactiva para poder hacer una prueba de concepto, ingresa en la sección de documentación interactiva y selecciona la opción de characters. Debo mencionar que la documentación de los campos es fenomenal y que además los ejemplos están muy bien hechos por lo que no tendrás mucho problema al momento de utilizar los datos obtenidos.

image

Cuando estableces un criterio de búsqueda, la documentación creará para ti la liga de consulta así como un ejemplo de lo que podrás obtener.

Marvel2

Ahora, si tu intención es hacer la consulta desde un medio exterior vas a necesitar en primer lugar dos sitios; uno para crear claves MD5, para este fin te recomiendo usar http://www.md5.cz/ y después un visualizador de JSON tan bueno como el de la documentación de Marvel y para eso utiliza http://www.jsoneditoronline.org/. Vamos por partes, sucede que para que puedas realizar una consulta, necesitas tres campos mínimos como parámetros, tu clave de acceso pública, un timestamp y un hash.

La clave de acceso pública ya la tienes, es la que te dan al crear tu cuenta. El timestamp es simplemente una cadena que te puede servir a modo de identificador para conocer de que sección llega tu consulta, para este ejercicio únicamente nos limitaremos a utilizar el número 9. Para el caso del hash, es simple, su protocolo de encriptación es MD5 y lo debes generar con el cúmulo de la siguiente información.

Hash = Timestamp + Llave de acceso privada + Llave de acceso pública

Es decir, en un ejemplo, tu resultado debe ser algo como esto.

Hash = 9 + 09c326ff82445b6f + c820e1a0

Ve al sitio que te permite generar el hash e ingresa la información para obtener el resultado.

image

Entonces, tu resultado será:

fdde64d1cb96ffad1ae414e0af18b1f0 =  909c326ff82445b6fc820e1a0

Ya que tienes todos esos valores, entonces puedes construir tu cadena de consulta de la siguiente manera.

http://gateway.marvel.com/v1/public/characters?apikey=c820e1a0&ts=9&hash=fdde64d1cb96ffad1ae414e0af18b1f0&name=iron man

Aquí es donde entra el segundo sitio web para poder identificar de mejor manera como queda el archivo JSON ya con un formato mucho mejor definido.

image

Y esto es lo que tenemos hasta ahora, la suscripción, las llaves de acceso y los enlaces de entrada para poder iniciar con el proyecto. Ya podemos seguir con el segundo artículo.

3 Comments

  • Pingback: Implementando un poco de JSON y MD5 con el API de Marvel Comics (Parte 2/3) | El blog de Kañaz

  • David
    1 septiembre, 2017 - 7:22 pm | Permalink

    Muchas gracias amigo, me sirvio mucho

  • Alvaro
    8 febrero, 2018 - 8:15 pm | Permalink

    Excelente aporte amigo, por fin algo útil sobre el tema! Gracias, ha sido de mucha ayuda!

  • Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    This blog is kept spam free by WP-SpamFree.