Postbote 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 «Probieren Sie es aus» aus der Dokumentation Funktionalität und eine produktionsfähigere Lösung, die Tools wie Azure DevOps, Logic Apps / Power Automate, einen benutzerdefinierten Power BI-Connector und mehr enthält.
Die Ideen in dieser Publikation erweitern a Originalbeitrag von Carl de Souza. Carl zeigt, wie man ein OAuth2-Zugriffstoken erhält, aber er tut es mit fest codierten Werten. Zusätzliche API-Anforderungen verwenden das Token aus der ursprünglichen Antwort. Sie stellen dieses Token jedoch auch manuell für nachfolgende API-Aufrufe bereit.
Bei den folgenden Schritten wird davon ausgegangen, dass Sie bereits mit den Grundlagen von Postman und Postman vertraut sind Power BI API. Melden Sie sich für eine Power BI Azure Active Directory-App si aún no tiene uno, y también debe tener el Umfang apropiado definido para sus tareas deseadas.
Variablen hinzufügen
Erweiterung der zu verwendenden Postman-Technik Variablen en lugar de valores codificados, hace que el esfuerzo Sein 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 Ziel 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 in diesem Fall wie im Screenshot gezeigt).
Um dieses Ergebnis zu erhalten, müssen Sie zunächst eine neue Umgebung in Postman erstellen. Fügen Sie dann fünf Variablen hinzu, um die fest codierten Werte in Carls ursprünglichem Beitrag zu ersetzen. Ich habe Umgebungsvariablen verwendet, damit ich sie für mehrere Sammlungen verwenden kann, aber es würde auch funktionieren, den Bereich auf Sammlungsvariablen zu beschränken.
Im Anfragetext werden vier Variablen verwendet, um das Zugriffstoken von https://login.microsoftonline.com/common/oauth2/token abzurufen. Dies sind nur lokale Sitzungsvariablen (angeben Aktueller Wert aber tu es nein Hinzufügen vertraulicher Daten zu Ursprünglicher Wert).
1) nombre de Nutzername - Organisatorischer Power BI-Benutzer
2) Passwort - Power BI-Organisationskennwort
3) Identificación del Klient - Ihre ID Azure Active Directory-Anwendung
4) client_secret - Geheimnis Ihrer Azure Active Directory-Anwendung
HINWEIS: Postman hat derzeit keine Möglichkeit, Variablenwerte zu schützen, auszublenden oder zu maskieren. Nachdem Sie mit Microsoft-Produkten wie Azure Key Vault gearbeitet haben, fühlen Sie sich so verwundbar, wenn Sie nur ein Kennwort in einer Variablen speichern. Für die Verwendung mit dem Grant-Typ OAuth = Kennwort sind Sitzungsvariablen jedoch ein Schritt weiter als die Codierung im Hauptteil einer Anforderung. Dies gilt insbesondere dann, wenn Sie Postman für Teams verwenden und Ihr Arbeitsbereich synchronisiert ist. Behalten Sie einfach diese Daten in Aktueller WertZumindest bleibt es lokal.
Die fünfte Variable, temp_access_tokenwird nicht wie die anderen vier manuell angegeben. Stattdessen verwenden Sie Code im Postboten Tests Registerkarte, um das Zugriffstoken in diese Variable zu schreiben. Tests es un área para colocar código JavaScript que se ejecuta después de que ocurre la solicitud.
Holen Sie sich einen Token
Die anfängliche API-Anforderung erhält das Zugriffstoken, das in nachfolgenden Aufrufen verwendet wird.
Fügen Sie eine neue hinzu Senden Anwendung https://login.microsoftonline.com/common/oauth2/token
zum Überschriften, hinzufügen:
Schlüssel = Inhaltstyp
Wert = application / x-www-form-urlencoded
zum KörperFügen Sie Folgendes hinzu, einschließlich der Variablenwerte in {{}}.
grant_type = password & username = {{username}} & password = {{password}} & client_id = {{client_id}} & client_secret = {{client_secret}} & resource = https: //analysis.windows.net/powerbi/ api
Was folgt, ist der nützlichste Teil. Der Code hier erspart Ihnen das manuelle Kopieren und Einfügen des Inhaber-Tokens in zusätzliche Anforderungen.
Im Tests, hinzufügen:
var token; Versuchen {var response = JSON.parse (responseBody);
token = response.access_token;
pm.environment.set ("temp_access_token", Token);
} catch (err) {console.warn (err.message); }}
Der in verwendete Code Tests analysiert die JSON-Antwort und weist die zu Zugangstoken von Microsoft an die temp_access_token Variable.
Eine erfolgreiche Anfrage zeigt das access_token und andere Daten an.
Außerdem wird das Zugriffstoken in die entsprechende Variable geschrieben.
Verwenden Sie das Token in nachfolgenden Anforderungen
Zusätzliche Anforderungen hängen davon ab, was Sie mit der Power BI-API tun möchten. Der allgemeine Schritt besteht jedoch darin, den Autorisierungsheader mit dem als Variable gespeicherten Token zu übergeben.
zum Überschriften, hinzufügen:
Schlüssel = Autorisierungswert = Inhaber {{temp_access_token}}
Mit dieser Einstellung kann ich beispielsweise alle Arbeitsbereichsdaten in meinem Mandanten mithilfe von erweitern Management- / Gruppenendpunkt. Solo necesito el método, la Url y el encabezado de autorización dinámica. No se requiere copiar / pegar manualmente.
Sie können diese Methode sogar um zusätzliche Variablen für relative Endpunkt-URLs und mehr erweitern!
Wenn Sie Fragen haben, kommentieren Sie unten und lassen Sie mich wissen, ob Sie Postman verwenden und diese Methode hilfreich finden.
[embedded] https://www.youtube.com/playlist?list=PLyWe5-Lx84g1JrDY6Zh_dfV2oO-Cy3frl&layout=gallery[/embedyt]
Zahlungslinks
Como asociado de Amazonas, gano con las compras que califican.