Freigeben über


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 targetWorkspaces angegeben 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

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 allowEdit Flag 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 targetWorkspaces angegeben 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

GenerateTokenRequestV2Dataset[]

Eine Liste von Datasets

datasourceIdentities

DatasourceIdentity[]

Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktivierter SSO (Single Sign-On) verwendet werden sollen.

identities

EffectiveIdentity[]

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 (0) entspricht nullund legt die Standardablaufzeit fest.

reports

GenerateTokenRequestV2Report[]

Eine Liste von Berichten

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Die Liste der Arbeitsbereiche, für die das Einbettungstoken das Speichern in

Antworten

Name Typ Beschreibung
200 OK

EmbedToken

OKAY

Beispiele

Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
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
Example of generating an embed token for a paginated report with a data source identity
Example of generating an embed token for a paginated report with multiple data source identities and a single identity blob
Example of generating an embed token for a paginated report with multiple data source identities and multiple identity blobs
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
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.
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.
Example of generating an embed token that expires no later than ten minutes from the API call

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

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
DatasourceConnectionDetails

Die Power BI-Datenquellenverbindungsdetails. Beispiele finden Sie in Get Datasources oder Get Datasources In Group.

DatasourceIdentity

Effektive Identität für die Verbindung von DirectQuery-Datenquellen mit aktivierter Einmaliges Anmelden (Single Sign-On, SSO).

DatasourceSelector

Ein Objekt, das eine einzelne Datenquelle eindeutig anhand seiner Verbindungsdetails identifiziert.

EffectiveIdentity

Definiert die Benutzeridentität und -rollen. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene mit Power BI Embedded.

EmbedToken

Ein Power BI-Einbettungstoken

GenerateTokenRequestV2

Power BI Tokenanforderung generieren V2

GenerateTokenRequestV2Dataset

Ein Datasetobjekt in GenerateTokenRequestV2

GenerateTokenRequestV2Report

Ein Berichtsobjekt in GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Ein Arbeitsbereichsobjekt in GenerateTokenRequestV2

IdentityBlob

Ein Blob zum Angeben einer Identität. Nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL unterstützt

XmlaPermissions

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

DatasourceSelector[]

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

DatasourceConnectionDetails

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.

API-Name für die Datenquelle
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Umtausch Erweiterung
Facebook Datei Ordner
GoogleAnalytics Hdfs HDInsight
Informix MQ MySql
OData ODBC OleDb
Oracle PostgreSQL PowerQueryMashup
PubNub Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib SharePointList
SQL Sybase Teradata
UIFlow das Internet

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

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 ,enthalten, und seine Länge darf 50 Zeichen nicht überschreiten.

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 ., -, _, !, #, ^, ~, \\, @. Bei Cloudmodellen kann der Benutzername ein beliebiges ASCII-Zeichen enthalten. Für beide Modelle darf die Länge des Benutzernamens 256 Zeichen nicht überschreiten, und der Benutzername darf keine Leerzeichen enthalten.

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

GenerateTokenRequestV2Dataset[]

Eine Liste von Datasets

datasourceIdentities

DatasourceIdentity[]

Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktivierter SSO (Single Sign-On) verwendet werden sollen.

identities

EffectiveIdentity[]

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 (0) entspricht nullund legt die Standardablaufzeit fest.

reports

GenerateTokenRequestV2Report[]

Eine Liste von Berichten

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

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

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.