Uso de parámetros en las llamadas al API desde celdas Excel (rangos con nombre)

Hemos visto cómo crear gráficos e informes con llamadas básicas e iteraciones en múltiples llamadas al API de ITM Platform, desde Power Query para Excel. Con estas técnicas se puede extraer y modelar toda la información necesaria, pero faltaba poder personalizar las llamadas al API con parámetros para –por ejemplo- poder enviar el nombre de usuario y contraseña o filtrar los resultados.

En este artículo vamos a explicar cómo hacerlo a través de celdas o «rangos con nombre» en Excel. La idea básica es configurar la hoja de cálculo para que admita que el usuario introduzca los datos que serán después utilizados por Power Query en la llamada al API de ITM Platform.
Estos son los pasos:

1. Dar un nombre a cada celda

Las celdas (o rangos) en Excel pueden tener un nombre. Será la referencia que usaremos más adelante en Power Query

En el ejemplo, hemos nombrado companyURL (en la imagen), email, password, datein y dateout.

Truco: para que la contraseña no sea visible directamente en la celda, le hemos dado el formato personalizado **;**;**;** Tenga en cuenta que este NO es un modo seguro de guardar contraseñas. Aún ocultando y protegiendo la hoja de cálculo, la contraseña podrá ser accesible

2. Realizar una consulta desde una tabla o rango

Por cada campo de entrada de datos (cada celda), creamos una consulta «desde una tabla o rango» en el menú «Datos»

3. Eliminar los dos últimos pasos

Al crear la consulta, una ventana emergente mostrará tres pasos creados de forma automática. Eliminaremos los dos últimos

4. Clic derecho en el valor del campo y seleccionar “Rastrear desagrupando datos”

5. Cerrar y cargar como «sólo conexión»

Ir a Inicio y “Cerrar y Cargar” como sólo conexión.

Esto nos habrá creado un parámetro («companyURL») que podremos usar en las consultas al API de ITM Platform, sencillamente usando su nombre

6. Utilizar los parámetros

Ahora únicamente resta utilizar los parámetros en las consultas, concatenando estos con el texto que sea preciso. En este ejemplo, estamos usando los parámetros companyURL, email y password para obtener el token de conexión.

myToken = Json.Document(Web.Contents("https://api.itmplatform.com/" & companyURL & "/login/" & email & "/" & password))

 

Nota importante: al igual que sucede en los artículos de ejemplos anteriores, es preciso seleccionar en las opciones «siempre ignorar niveles de privacidad» en Excel.