Zum Hauptinhalt springen




Zeit zu lesen: 4 Protokoll

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

image-1-9855973<>image-1-5083405

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.

image-2-5169317

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.

image-3-3060093

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
image-4-3213815

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
image-5-9029208

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.

image-6-6290730

Eine erfolgreiche Anfrage zeigt das access_token und andere Daten an.

image-7-9996736

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

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.

image-8-9805417

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.