Contenidos
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.
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).

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.

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.

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

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

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.

Una solicitud exitosa mostrará el access_token y otros datos.

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}}

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.

¡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.