Embed Token - Generate Token
Generuje token osadzania dla wielu raportów, zestawów danych i docelowych obszarów roboczych.
- Raporty i zestawy danych nie muszą być powiązane.
- Raport można powiązać z zestawem danych podczas osadzania.
- Raport można utworzyć tylko w obszarach roboczych określonych przez
targetWorkspaces
parametr .
Ważne
To wywołanie interfejsu API ma zastosowanie tylko do scenariusza osadzania dla klientów . Aby dowiedzieć się więcej na temat korzystania z tego interfejsu API, zobacz Zagadnienia dotyczące generowania tokenu osadzania.
Uprawnienia
- W przypadku używania jednostki usługi do uwierzytelniania zapoznaj się z tematem Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi oraz zagadnień i ograniczeń.
- W przypadku raportów usługi Power BI z wizualizacją podzielonej na strony należy uwzględnić identyfikator raportu podzielonego na strony w wywołaniu interfejsu API. Aby uzyskać więcej informacji, zobacz przykład.
- To wywołanie interfejsu API może być wywoływane przez profil jednostki usługi. Aby uzyskać więcej informacji, zobacz: Profile jednostki usługi w Power BI Embedded.
Wymagany zakres
Wszystkie następujące elementy, chyba że wymaganie nie ma zastosowania:
- Content.Create, wymagane, jeśli docelowy obszar roboczy jest określony w pozycji GenerateTokenRequestV2.
- Report.ReadWrite.All lub Report.Read.All, wymagane, jeśli raport jest określony w parametrze GenerateTokenRequestV2.
- Report.ReadWrite.All, wymagane, jeśli flaga
allowEdit
jest określona dla co najmniej jednego raportu w generateTokenRequestV2. - Dataset.ReadWrite.All lub Dataset.Read.All
Ograniczenia
- Raport można utworzyć tylko w obszarach roboczych określonych przez
targetWorkspaces
parametr . - Wszystkie raporty i zestawy danych muszą znajdować się w obszarze roboczym w wersji 2 .
- Wszystkie docelowe obszary robocze muszą być obszarami roboczymi w wersji 2 .
- Maksymalnie 50 raportów.
- Maksymalnie 50 zestawów danych.
- Maksymalnie 50 docelowych obszarów roboczych.
- W przypadku Azure Analysis Services lub lokalnych raportów połączeń na żywo usługi Analysis Services generowanie tokenu osadzania z zabezpieczeniami na poziomie wiersza może nie działać przez kilka minut po ponownym połączeniu.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Treść żądania
Nazwa | Typ | Opis |
---|---|---|
datasets |
Lista zestawów danych |
|
datasourceIdentities |
Lista tożsamości używanych podczas nawiązywania połączenia ze źródłami danych z włączoną obsługą logowania jedno Sign-On krotnego (SSO). |
|
identities |
Lista tożsamości do użycia dla reguł zabezpieczeń na poziomie wiersza |
|
lifetimeInMinutes |
integer |
Maksymalny okres istnienia tokenu w minutach, począwszy od czasu wygenerowania. Można użyć do skrócenia czasu wygaśnięcia tokenu, ale nie do jego rozszerzenia. Wartość musi być dodatnią liczbą całkowitą. Zero ( |
reports |
Lista raportów |
|
targetWorkspaces |
Lista obszarów roboczych, do których token osadzania zezwoli na zapisywanie |
Odpowiedzi
Nazwa | Typ | Opis |
---|---|---|
200 OK |
OK |
Przykłady
Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Sample Request
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"
}
]
}
Sample Response
{
"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
Sample Request
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"
]
}
]
}
Sample Response
{
"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
Sample Request
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="
}
]
}
Sample Response
{
"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
Sample Request
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="
}
]
}
Sample Response
{
"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
Sample Request
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="
}
]
}
Sample Response
{
"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
Sample Request
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="
}
]
}
Sample Response
{
"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.
Sample Request
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"
}
]
}
Sample Response
{
"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.
Sample Request
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"
]
}
]
}
Sample Response
{
"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
Sample Request
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
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Definicje
Nazwa | Opis |
---|---|
Datasource |
Szczegóły połączenia źródła danych usługi Power BI. Zobacz przykłady w temacie Pobieranie źródeł danych lub Pobieranie źródeł danych w grupie. |
Datasource |
Efektywna tożsamość do łączenia źródeł danych DirectQuery z włączonym logowaniem jednokrotnym. |
Datasource |
Obiekt, który jednoznacznie identyfikuje pojedyncze źródło danych według szczegółów połączenia. |
Effective |
Definiuje tożsamość użytkownika i role. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza z Power BI Embedded. |
Embed |
Token osadzania usługi Power BI |
Generate |
Generowanie żądania tokenu w usłudze Power BI w wersji 2 |
Generate |
Obiekt zestawu danych w funkcji GenerateTokenRequestV2 |
Generate |
Obiekt raportu w funkcji GenerateTokenRequestV2 |
Generate |
Obiekt obszaru roboczego w funkcji GenerateTokenRequestV2 |
Identity |
Obiekt blob do określania tożsamości. Obsługiwane tylko w przypadku zestawów danych z połączeniem DirectQuery z Azure SQL |
Xmla |
Uprawnienia XMLA |
DatasourceConnectionDetails
Szczegóły połączenia źródła danych usługi Power BI. Zobacz przykłady w temacie Pobieranie źródeł danych lub Pobieranie źródeł danych w grupie.
Nazwa | Typ | Opis |
---|---|---|
account |
string |
Konto połączenia |
classInfo |
string |
Informacje o klasie połączenia |
database |
string |
Baza danych połączeń |
domain |
string |
Domena połączenia |
emailAddress |
string |
Adres e-mail połączenia |
kind |
string |
Rodzaj połączenia |
loginServer |
string |
Serwer logowania połączenia |
path |
string |
Ścieżka połączenia |
server |
string |
Serwer połączeń |
url |
string |
Adres URL połączenia |
DatasourceIdentity
Efektywna tożsamość do łączenia źródeł danych DirectQuery z włączonym logowaniem jednokrotnym.
Nazwa | Typ | Opis |
---|---|---|
datasources |
Tablica źródeł danych, których dotyczy ta tożsamość. |
|
identityBlob |
string |
Obiekt blob do określania tożsamości. |
DatasourceSelector
Obiekt, który jednoznacznie identyfikuje pojedyncze źródło danych według szczegółów połączenia.
Nazwa | Typ | Opis | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
connectionDetails |
Szczegóły połączenia ze źródłem danych. Szczegóły połączenia można uzyskać przy użyciu polecenia Pobierz źródła danych dla raportów podzielonych na strony i pobierz źródła danych dla interfejsów API raportów usługi Powerbi . |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
Typ źródła danych.
|
EffectiveIdentity
Definiuje tożsamość użytkownika i role. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza z Power BI Embedded.
Nazwa | Typ | Opis |
---|---|---|
auditableContext |
string |
Kontekst z możliwością inspekcji EffectiveIdentity. Jeśli ten parametr jest podany i nie jest pusty, włączy inspekcję właściwości EffectiveIdentity, a jego wartość zostanie ustawiona na nazwę użytkownika w rekordzie inspekcji. W przeciwnym razie kontekst EffectiveIdentity zostanie pominięty z rekordu inspekcji GenerateToken. |
customData |
string |
Dane niestandardowe używane do stosowania reguł zabezpieczeń na poziomie wiersza. Obsługiwane w przypadku połączenia na żywo z modelami Azure Analysis Services i modelami w chmurze. |
datasets |
string[] |
Tablica zestawów danych, dla których ta tożsamość ma zastosowanie |
identityBlob |
Obiekt blob określający tożsamość. Obsługiwane tylko w przypadku zestawów danych z połączeniem DirectQuery z Azure SQL. |
|
reports |
string[] |
Tablica raportów, dla których ta tożsamość ma zastosowanie. Obsługiwane tylko w przypadku raportów podzielonych na strony. |
roles |
string[] |
Tablica ról zabezpieczeń na poziomie wiersza w tokenie, który stosuje reguły zabezpieczeń na poziomie wiersza. Tożsamość może zawierać maksymalnie 50 ról. Rola może zawierać dowolny znak z wyjątkiem |
username |
string |
Obowiązująca nazwa użytkownika w tokenie, który stosuje reguły zabezpieczeń na poziomie wiersza. W przypadku modelu lokalnego nazwa użytkownika może zawierać alfanumeryczne lub dowolny z następujących znaków |
EmbedToken
Token osadzania usługi Power BI
Nazwa | Typ | Opis |
---|---|---|
expiration |
string |
Data i godzina wygaśnięcia tokenu (UTC) |
token |
string |
Token osadzania |
tokenId |
string |
Unikatowy identyfikator tokenu. Za pomocą dzienników inspekcji identyfikator tokenu może służyć do korelowania operacji, które używają tokenu z operacją generowania. |
GenerateTokenRequestV2
Generowanie żądania tokenu w usłudze Power BI w wersji 2
Nazwa | Typ | Opis |
---|---|---|
datasets |
Lista zestawów danych |
|
datasourceIdentities |
Lista tożsamości do użycia podczas nawiązywania połączenia ze źródłami danych z włączonym logowaniem jedno Sign-On krotnym (SSO). |
|
identities |
Lista tożsamości do użycia dla reguł zabezpieczeń na poziomie wiersza |
|
lifetimeInMinutes |
integer |
Maksymalny okres istnienia tokenu w minutach, począwszy od czasu jego wygenerowania. Może służyć do skrócenia czasu wygaśnięcia tokenu, ale nie do jego rozszerzenia. Wartość musi być dodatnią liczbą całkowitą. Zero ( |
reports |
Lista raportów |
|
targetWorkspaces |
Lista obszarów roboczych, do których token osadzania zezwoli na zapisywanie |
GenerateTokenRequestV2Dataset
Obiekt zestawu danych w funkcji GenerateTokenRequestV2
Nazwa | Typ | Opis |
---|---|---|
id |
string |
Identyfikator zestawu danych |
xmlaPermissions |
Uprawnienia XMLA |
GenerateTokenRequestV2Report
Obiekt raportu w funkcji GenerateTokenRequestV2
Nazwa | Typ | Opis |
---|---|---|
allowEdit |
boolean |
Czy wygenerowany token osadzania obsługuje edytowanie raportów |
id |
string |
Identyfikator raportu |
GenerateTokenRequestV2TargetWorkspace
Obiekt obszaru roboczego w funkcji GenerateTokenRequestV2
Nazwa | Typ | Opis |
---|---|---|
id |
string |
Identyfikator obszaru roboczego |
IdentityBlob
Obiekt blob do określania tożsamości. Obsługiwane tylko w przypadku zestawów danych z połączeniem DirectQuery z Azure SQL
Nazwa | Typ | Opis |
---|---|---|
value |
string |
Token dostępu OAuth 2.0 dla Azure SQL |
XmlaPermissions
Uprawnienia XMLA
Nazwa | Typ | Opis |
---|---|---|
Off |
string |
Wskazuje, że wygenerowany token osadzania nie udziela uprawnień dostępu do punktu końcowego XMLA zestawu danych. |
ReadOnly |
string |
Wskazuje, że wygenerowany token osadzania udziela uprawnień dostępu do odczytu do punktu końcowego XMLA zestawu danych. |