sábado, 13 de febrero de 2016

El tiempo con la API de underground.com

En este artículo vamos a averiguar el tiempo que hace en las ciudades del mundo a través de la api de wunderground.com utilizando MIT App Inventor 2.

La vista de los componentes en el modo diseño es el siguiente. Destacamos dos componentes WEB con los que haremos las peticiones GET.

Lo primero que hay que hacer es darse de alta en desarrolladores de http://www.wunderground.com/. Hacemos click sobre el menú More - Weather API for Developers:


y nos damos de alta con nuestros datos personales. Luego obtenemos la Key que nos permitirá hacer las peticiones a la web. Si utilizais la opción gratuita solo os permitirá realizar 50 peticiones diarias.

Obtendremos una clave del tipo 40xxxxx324352694 que es la que yo he obtenido


WUAutoCompleteURL:
WUApiURL: 

La API es compatible con varios idiomas. Yo he elegido el español: SP. Además, el resultado lo puede dar en formato JSON o en formato XML. Yo he elegido este último.

Lo primero que hay que hacer es obtener el código de la ciudad elegida. Para ello, hacemos uso de la url WUAutoCompleteURL añadiendo la ciudad introducida en el Textbox:

Por ejemplo, en el caso de la ciudad de Madrid, la url sería como sigue:

Si escribimos esta URL en Internet explorer el resultado es el siguiente:


Nos da varios resultados de la ciudad de Madrid. En todos los casos, nosotros elegimos el primer resultado para simplificar el diseño. 

Obtenemos la respuesta a la llamada GET y buscamos el campo denominado <l> que es el que nos interesa:


Para extraer el campo, utilizamos las características del método XMLTextDecode y vamos "extrayendo" los diferentes niveles del archivo xml que en este caso son solo 2, <RESULT> y <l>

El resultado obtenido es del tipo locid:08221000;loctype:3. Añadiendo este resultado a la url WUApiURL y añadiendo al final el tipo de fichero (en este caso .xml) obtenemos una url como la siguiente:


Con esta url, hacemos una llamada a webC y nos da como resultado un fichero xml del tipo:


Con el procedimiento ext y una vez obtenida la página extraemos los campos que nos interesa como son la temperatura (temp_c), humedad (weather) y el icono que representa las condiciones climáticas (icon_url):



El resultado final es el siguiente:


Descargas:

Fuentes:

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.