Embed Token - Generate Token
Generiert ein Einbettungstoken für mehrere Berichte, Datasets und Zielarbeitsbereiche.
- Berichte und Datasets müssen nicht miteinander verknüpft sein.
- Sie können einen Bericht während der Einbettung an ein Dataset binden.
- Sie können nur einen Bericht in Arbeitsbereichen erstellen, die vom parameter
targetWorkspacesangegeben werden.
Wichtig
Dieser API-Aufruf ist nur für die Einbindung für Ihre Kunden Szenario relevant. Weitere Informationen zur Verwendung dieser API finden Sie unter Überlegungen beim Generieren eines Einbettungstokens.
Erlaubnisse
- Wenn Sie einen Dienstprinzipal für die Authentifizierung verwenden, lesen Sie Einbetten von Power BI-Inhalten mit Dienstprinzipal- und Überlegungen und Einschränkungen.
- Fügen Sie für Power BI-Berichte mit einem aus paginierten visuellen Element die paginierte Berichts-ID in den API-Aufruf ein. Weitere Informationen finden Sie im Beispiel.
- Dieser API-Aufruf kann von einem Dienstprinzipalprofil aufgerufen werden. Weitere Informationen finden Sie unter: Dienstprinzipalprofile in Power BI Embedded.
Erforderlicher Bereich
Alle folgenden Elemente, es sei denn, eine Anforderung gilt nicht:
- Content.Create, erforderlich, wenn ein Zielarbeitsbereich in GenerateTokenRequestV2angegeben ist.
- Report.ReadWrite.All oder Report.Read.All, erforderlich, wenn ein Bericht in GenerateTokenRequestV2angegeben ist.
- Report.ReadWrite.All, erforderlich, wenn das
allowEditFlag für mindestens einen Bericht in GenerateTokenRequestV2angegeben ist. - Dataset.ReadWrite.All oder Dataset.Read.All
Einschränkungen
- Sie können nur einen Bericht in Arbeitsbereichen erstellen, die vom parameter
targetWorkspacesangegeben werden. - Alle Berichte und Datasets müssen sich in einem V2--Arbeitsbereich befinden.
- Alle Zielarbeitsbereiche müssen V2 Arbeitsbereiche sein.
- Maximal 50 Berichte.
- Maximal 50 Datasets.
- Maximal 50 Zielarbeitsbereiche.
- Für lokale Liveverbindungsberichte von Azure Analysis Services oder Analysis Services funktioniert das Generieren eines Einbettungstokens mit RLS (Row-Level Security, RLS) möglicherweise nicht mehrere Minuten nach einer neu gebundenen .
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Anforderungstext
| Name | Typ | Beschreibung |
|---|---|---|
| datasets |
Eine Liste von Datasets |
|
| datasourceIdentities |
Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktivierter SSO (Single Sign-On) verwendet werden sollen. |
|
| identities |
Die Liste der Identitäten, die für Sicherheitsregeln auf Zeilenebene verwendet werden sollen |
|
| lifetimeInMinutes |
integer |
Die maximale Lebensdauer des Tokens in Minuten, beginnend mit dem Zeitpunkt, zu dem es generiert wurde. Kann verwendet werden, um die Ablaufzeit des Tokens zu verkürzen, aber nicht, um es zu erweitern. Der Wert muss eine positive ganze Zahl sein. Null ( |
| reports |
Eine Liste von Berichten |
|
| targetWorkspaces |
Die Liste der Arbeitsbereiche, für die das Einbettungstoken das Speichern in |
Antworten
| Name | Typ | Beschreibung |
|---|---|---|
| 200 OK |
OKAY |
Beispiele
Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
],
"reports": [
{
"allowEdit": true,
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
},
{
"id": "759908bb-ead8-4a43-9645-7ffbf921c68d"
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2018-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report which has a Power BI dataset as a datasource. The ID of the dataset must be specified in the request. The report and dataset can each have its own identity
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
"xmlaPermissions": "ReadOnly"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
},
{
"username": "john@contoso.com",
"reports": [
"b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
]
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report with a data source identity
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "New-Sql-Server",
"database": "New-Sql-Database"
}
}
],
"identityBlob": "eyJ0eX....AAA="
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report with multiple data source identities and a single identity blob
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "New-Sql-Server",
"database": "New-Sql-Database"
}
},
{
"datasourceType": "MySql",
"connectionDetails": {
"server": "New-MySql-Server",
"database": "New-MySql-Database"
}
}
],
"identityBlob": "eyJ0eX....AAA="
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report with multiple data source identities and multiple identity blobs
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "New-Sql-Server",
"database": "New-Sql-Database"
}
}
],
"identityBlob": "eyJ0eX....AAA="
},
{
"datasources": [
{
"datasourceType": "MySql",
"connectionDetails": {
"server": "New-MySql-Server",
"database": "New-MySql-Database"
}
}
],
"identityBlob": "eyJ0dW....AAA="
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a Power BI report with a dataset which is connected with DirectQuery to another Power BI dataset. All related dataset IDs must be specified in the request with 'xmlaPermissions' set to 'ReadOnly'. IdentityBlobs for all SSO-enabled data sources must be provided in the 'datasourceIdentities' array
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd",
"xmlaPermissions": "ReadOnly"
},
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
"xmlaPermissions": "ReadOnly"
}
],
"reports": [
{
"id": "f904e89a-7ebe-4aa0-8647-e409063b4850"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "Best-Sql-Server",
"database": "Database3"
}
}
],
"identityBlob": "eyJ0eX....AAA="
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "ab4d49ae-c054-4c29-af52-93b5c80619ff",
"expiration": "2022-06-10T12:41:11Z"
}
Example of generating an embed token for a Power BI report with a paginated visual. The paginated report ID ('...4850') of the paginated visual must be included in the 'reports' section of the request.
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
},
{
"id": "f904e89a-7ebe-4aa0-8647-e409063b4850"
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2018-07-29T17:58:19Z"
}
Example of generating an embed token for two datasets with RLS identities and a single report with read-only permissions. The embed token lets you view the report, which is dynamically bound to two different datasets.
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
},
{
"id": "e75afc47-1150-45e0-aba7-4eb04e4876e5"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
},
{
"username": "iris@contoso.com",
"roles": [
"executive"
],
"datasets": [
"e75afc47-1150-45e0-aba7-4eb04e4876e5"
]
}
]
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token that expires no later than ten minutes from the API call
Beispielanforderung
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
}
],
"lifetimeInMinutes": 10
}
Beispiel für eine Antwort
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Definitionen
| Name | Beschreibung |
|---|---|
|
Datasource |
Die Power BI-Datenquellenverbindungsdetails. Beispiele finden Sie in Get Datasources oder Get Datasources In Group. |
|
Datasource |
Effektive Identität für die Verbindung von DirectQuery-Datenquellen mit aktivierter Einmaliges Anmelden (Single Sign-On, SSO). |
|
Datasource |
Ein Objekt, das eine einzelne Datenquelle eindeutig anhand seiner Verbindungsdetails identifiziert. |
|
Effective |
Definiert die Benutzeridentität und -rollen. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene mit Power BI Embedded. |
|
Embed |
Ein Power BI-Einbettungstoken |
|
Generate |
Power BI Tokenanforderung generieren V2 |
|
Generate |
Ein Datasetobjekt in GenerateTokenRequestV2 |
|
Generate |
Ein Berichtsobjekt in GenerateTokenRequestV2 |
|
Generate |
Ein Arbeitsbereichsobjekt in GenerateTokenRequestV2 |
|
Identity |
Ein Blob zum Angeben einer Identität. Nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL unterstützt |
|
Xmla |
XMLA-Berechtigungen |
DatasourceConnectionDetails
Die Power BI-Datenquellenverbindungsdetails. Beispiele finden Sie in Get Datasources oder Get Datasources In Group.
| Name | Typ | Beschreibung |
|---|---|---|
| account |
string |
Das Verbindungskonto |
| classInfo |
string |
Die Verbindungsklasseninformationen |
| database |
string |
Die Verbindungsdatenbank |
| domain |
string |
Die Verbindungsdomäne |
| emailAddress |
string |
Die E-Mail-Adresse der Verbindung |
| kind |
string |
Die Verbindungsart |
| loginServer |
string |
Der Verbindungsanmeldungsserver |
| path |
string |
Der Verbindungspfad |
| server |
string |
Der Verbindungsserver |
| url |
string |
Die Verbindungs-URL |
DatasourceIdentity
Effektive Identität für die Verbindung von DirectQuery-Datenquellen mit aktivierter Einmaliges Anmelden (Single Sign-On, SSO).
| Name | Typ | Beschreibung |
|---|---|---|
| datasources |
Ein Array von Datenquellen, für die diese Identität gilt. |
|
| identityBlob |
string |
Ein Blob zum Angeben der Identität. |
DatasourceSelector
Ein Objekt, das eine einzelne Datenquelle eindeutig anhand seiner Verbindungsdetails identifiziert.
| Name | Typ | Beschreibung | |||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| connectionDetails |
Die Verbindungsdetails der Datenquelle. Sie können die Verbindungsdetails mithilfe von Abrufen von Datenquellen für paginierte Berichte und Abrufen von Datenquellen für Powerbi-Berichte APIs abrufen. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| datasourceType |
string |
Der Typ der Datenquelle.
|
EffectiveIdentity
Definiert die Benutzeridentität und -rollen. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene mit Power BI Embedded.
| Name | Typ | Beschreibung |
|---|---|---|
| auditableContext |
string |
Der Auditable-Kontext "EffectiveIdentity". Wenn dieser Parameter angegeben und nicht leer ist, wird die Überwachung der EffectiveIdentity aktiviert, und der Wert wird auf den Benutzernamen im Überwachungsdatensatz festgelegt. Andernfalls wird der EffectiveIdentity-Kontext aus dem GenerateToken-Überwachungsdatensatz weggelassen. |
| customData |
string |
Benutzerdefinierte Daten, die zum Anwenden von Sicherheitsregeln auf Zeilenebene verwendet werden. Wird nur für live-Verbindungen mit Azure Analysis Services-Modellen und Cloudmodellen unterstützt. |
| datasets |
string[] |
Ein Array von Datasets, für die diese Identität gilt |
| identityBlob |
Ein Blob, das eine Identitätangibt. Wird nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL unterstützt. |
|
| reports |
string[] |
Ein Array von Berichten, für die diese Identität gilt. Wird nur für paginierte Berichte unterstützt. |
| roles |
string[] |
Ein Array von Rollen auf Zeilenebene (RLS) innerhalb eines Tokens, das RLS-Regeln anwendet. Eine Identität kann bis zu 50 Rollen enthalten. Eine Rolle kann ein beliebiges Zeichen mit Ausnahme von |
| username |
string |
Der effektive Benutzername in einem Token, das Sicherheitsregeln auf Zeilenebene anwendet. Für ein lokales Modell kann der Benutzername alphanumerisch oder eines der folgenden Zeichen |
EmbedToken
Ein Power BI-Einbettungstoken
| Name | Typ | Beschreibung |
|---|---|---|
| expiration |
string (date-time) |
Datum und Uhrzeit (UTC) des Tokenablaufs |
| token |
string |
Das Einbettungstoken |
| tokenId |
string (uuid) |
Die eindeutige Token-ID. Mithilfe von Überwachungsprotokollen kann die Token-ID verwendet werden, um Vorgänge zu korrelieren, die das Token mit dem Generieren-Vorgang verwenden. |
GenerateTokenRequestV2
Power BI Tokenanforderung generieren V2
| Name | Typ | Beschreibung |
|---|---|---|
| datasets |
Eine Liste von Datasets |
|
| datasourceIdentities |
Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktivierter SSO (Single Sign-On) verwendet werden sollen. |
|
| identities |
Die Liste der Identitäten, die für Sicherheitsregeln auf Zeilenebene verwendet werden sollen |
|
| lifetimeInMinutes |
integer |
Die maximale Lebensdauer des Tokens in Minuten, beginnend mit dem Zeitpunkt, zu dem es generiert wurde. Kann verwendet werden, um die Ablaufzeit des Tokens zu verkürzen, aber nicht, um es zu erweitern. Der Wert muss eine positive ganze Zahl sein. Null ( |
| reports |
Eine Liste von Berichten |
|
| targetWorkspaces |
Die Liste der Arbeitsbereiche, für die das Einbettungstoken das Speichern in |
GenerateTokenRequestV2Dataset
Ein Datasetobjekt in GenerateTokenRequestV2
| Name | Typ | Beschreibung |
|---|---|---|
| id |
string |
Die Dataset-ID |
| xmlaPermissions |
XMLA-Berechtigungen |
GenerateTokenRequestV2Report
Ein Berichtsobjekt in GenerateTokenRequestV2
| Name | Typ | Beschreibung |
|---|---|---|
| allowEdit |
boolean |
Gibt an, ob das generierte Einbettungstoken die Berichtsbearbeitung unterstützt |
| id |
string (uuid) |
Die Berichts-ID |
GenerateTokenRequestV2TargetWorkspace
Ein Arbeitsbereichsobjekt in GenerateTokenRequestV2
| Name | Typ | Beschreibung |
|---|---|---|
| id |
string (uuid) |
Arbeitsbereich-ID |
IdentityBlob
Ein Blob zum Angeben einer Identität. Nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL unterstützt
| Name | Typ | Beschreibung |
|---|---|---|
| value |
string |
Ein OAuth 2.0-Zugriffstoken für Azure SQL |
XmlaPermissions
XMLA-Berechtigungen
| Wert | Beschreibung |
|---|---|
| Off |
Gibt an, dass das generierte Einbettungstoken keine Zugriffsberechtigungen für den XMLA-Endpunkt des Datasets gewährt. |
| ReadOnly |
Gibt an, dass das generierte Einbettungstoken Lesezugriffsberechtigungen für den XMLA-Endpunkt des Datasets gewährt. |