Passer au contenu principal
Il est temps de lire: 4 minutes

Facteur es una herramienta valiosa para trabajar con API, especialmente cuando se realizan pruebas y solicitudes ad hoc fuera de una solución de producción automatizada. En términos de dónde un desarrollador de Power BI puede encontrar útil a Postman, se encuentra en algún lugar entre «Pruébelo» de la documentación funcionalidad y una solución más digna de producción que incorpora herramientas como Azure DevOps, Logic Apps / Power Automate, un conector personalizado de Power BI, etc.

Las ideas de esta publicación amplían un publicación original de Carl de Souza. Carl muestra cómo obtener un token de acceso OAuth2, pero lo hace con valores codificados. Las solicitudes de API adicionales utilizan el token de la respuesta original, pero también proporciona manualmente este token a las siguientes llamadas a la API.

Los siguientes pasos asumen que ya está familiarizado con los conceptos básicos tanto de Postman como del API Power BI. Regístrese para un Aplicación Power BI Azure Active Directory si aún no tiene uno, y también debe tener el alcance apropiado definido para sus tareas deseadas.

igraal_fr-fr

Ajouter des variables

Ampliación de la técnica Postman para utilizar variables en lugar de valores codificados, hace que el esfuerzo sea más automático y conveniente. En particular, al pasar el token de acceso a una variable para su reutilización en otras solicitudes de API, se elimina una copia y pegado manual » [token]”Cada vez que se realiza una nueva solicitud después de que expira un token anterior.

En última instancia, el objetivo es proporcionar un token de acceso a cualquier solicitud de API REST de Power BI sin tener que colocar manualmente el token de autorización en la solicitud. Lograr esto se basa en una variable de sesión (llamada temp_access_token dans ce cas comme on le voit sur la capture d'écran).

image-1-9855973

Para obtener este resultado, el primer paso es crear un nuevo Entorno en Postman. Luego, agregue cinco variables para reemplazar los valores codificados que se ven en la publicación original de Carl. He usado variables de entorno para poder usarlas en múltiples colecciones, pero reducir el alcance a las variables de colección también funcionaría.

image-2-5169317

Se utilizan cuatro variables en el cuerpo de la solicitud para obtener el token de acceso de https://login.microsoftonline.com/common/oauth2/token. Estas son solo variables de sesión local (especifique Valeur actuelle mais fais non ajouter des données sensibles à Valeur initiale).
1) nom d'utilisateur – Usuario organizacional de Power BI
2) contraseña – Contraseña de organización de Power BI
3) Identificación del cliente – ID de su Aplicación de Azure Active Directory
4) client_secret – Secreto de su aplicación Azure Active Directory

NOTA: Postman actualmente no tiene una forma de proteger, ocultar o enmascarar los valores de las variables. Después de trabajar con productos de Microsoft como Azure Key Vault, se siente tan vulnerable simplemente almacenando una contraseña en una variable. Sin embargo, para su uso con el tipo de concesión de OAuth = contraseña, las variables de sesión son un paso adelante de codificarlas en el cuerpo de una solicitud. Esto es especialmente cierto si usa Postman para equipos y el espacio de trabajo está sincronizado. Solo manteniendo estos datos en Valeur actuelle, au moins ça reste local.

image-3-3060093

La cinquième variable, temp_access_token, no se especifica manualmente como los otros cuatro. En su lugar, usará código en el Postman Des tests tab pour écrire le jeton d'accès à cette variable. Des tests es un área para colocar código JavaScript que se ejecuta después de que ocurre la solicitud.

Obtenez un jeton

La demande d'API initiale obtient le jeton d'accès utilisé dans les appels suivants.

Ajouter un nouveau Envoyer application à https://login.microsoftonline.com/common/oauth2/token

pour En-têtes, ajouter:

Clé = Type de contenu
Valeur = application / x-www-form-urlencoded
image-4-3213815

pour Corps, qui inclut les valeurs de variable à l'intérieur de {{}}, ajoutez:

grant_type = password & username = {{username}} & password = {{password}} & client_id = {{client_id}} & client_secret = {{client_secret}} & resource = https: //analysis.windows.net/powerbi/ api
image-5-9029208

Lo que sigue es la parte más útil. El código aquí le evita tener que copiar y pegar manualmente el token de portador en solicitudes adicionales.

Au Des tests, ajouter:

var token; essayer {
    var response = JSON.parse (responseBody); 
    jeton = response.access_token; 
    pm.environment.set ("temp_access_token", jeton);
} catch (err) {console.warn (err.message); }

El código utilizado en Des tests analyse la réponse JSON et attribue le jeton d'accès fourni par Microsoft au temp_access_token variable.

image-6-6290730

Una solicitud exitosa mostrará el access_token y otros datos.

image-7-9996736

También escribirá el token de acceso a la variable apropiada.

Utilisez le jeton dans les demandes suivantes

Las solicitudes adicionales dependerán de lo que desee hacer con la API de Power BI. Sin embargo, el paso común implicará pasar el encabezado de autorización con el token almacenado como variable.

pour En-têtes, ajouter:

Clé = Valeur d'autorisation = Porteur {{temp_access_token}}
image-5301048

Por ejemplo, puedo usar esta configuración para expandir todos los datos del espacio de trabajo en mi inquilino usando el punto final de administración / grupos. Solo necesito el método, la URL y el encabezado de autorización dinámica. No se requiere copiar / pegar manualmente.

image-8-9805417

¡Incluso podría extender este método para incluir variables adicionales para URL de punto final relativas y más!

Si tiene alguna pregunta, comente a continuación y avíseme si utiliza Postman y encuentra útil este método.

[embedyt] https://www.youtube.com/playlist?list=PLyWe5-Lx84g1JrDY6Zh_dfV2oO-Cy3frl&layout=gallery[/embedyt]

Liens de paiement

En tant qu'associé Amazon, je gagne sur les achats éligibles.