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 parametr
targetWorkspaces
.
Ważne
To wywołanie interfejsu API jest istotne tylko dla 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 korzystania z jednostki usługi do uwierzytelniania zapoznaj się z tematem Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi oraz zagadnienia i ograniczenia .
- W przypadku raportów usługi Power BI z wizualizacją z podziałem na strony dołącz 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 usłudze 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 GenerateTokenRequestV2.
- Report.ReadWrite.All lub Report.Read.All, wymagane, jeśli raport jest określony w 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 parametr
targetWorkspaces
. - Wszystkie raporty i zestawy danych muszą znajdować się w obszarze roboczym w wersji 2.
- Wszystkie docelowe obszary robocze muszą być v2 obszarów roboczych.
- Maksymalnie 50 raportów.
- Maksymalnie 50 zestawów danych.
- Maksymalnie 50 docelowych obszarów roboczych.
- W przypadku lokalnych raportów połączeń na żywo usług Azure Analysis Services lub 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ą pojedynczego Sign-On (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 momentu wygenerowania tokenu. 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 |
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.
Przykładowe żądanie
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"
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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"
]
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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="
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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="
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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="
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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="
}
]
}
Przykładowa odpowiedź
{
"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.
Przykładowe żądanie
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"
}
]
}
Przykładowa odpowiedź
{
"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.
Przykładowe żądanie
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"
]
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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
}
Przykładowa odpowiedź
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Definicje
Nazwa | Opis |
---|---|
Datasource |
Szczegóły połączenia ze źródłem danych usługi Power BI. Zobacz przykłady Pobieranie źródeł danych lub Pobieranie źródeł danych w grupie. |
Datasource |
Efektywna tożsamość na potrzeby łą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ść i role użytkownika. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza w usłudze 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 GenerateTokenRequestV2 |
Generate |
Obiekt raportu w GenerateTokenRequestV2 |
Generate |
Obiekt obszaru roboczego w GenerateTokenRequestV2 |
Identity |
Obiekt blob do określania tożsamości. Obsługiwane tylko w przypadku zestawów danych z połączeniem DirectQuery z usługą Azure SQL |
Xmla |
Uprawnienia XMLA |
DatasourceConnectionDetails
Szczegóły połączenia ze źródłem danych usługi Power BI. Zobacz przykłady 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ść na potrzeby łączenia źródeł danych DirectQuery z włączonym logowaniem jednokrotnym.
Nazwa | Typ | Opis |
---|---|---|
datasources |
Tablica źródeł danych, do których ma zastosowanie ta tożsamość. |
|
identityBlob |
string |
Obiekt blob określający tożsamość. |
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 Pobieranie źródeł danych dla raportów podzielonych na strony i Pobieranie źródeł danych dla raportów usługi Powerbi interfejsów API. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
|
EffectiveIdentity
Definiuje tożsamość i role użytkownika. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza w usłudze 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ę elementu 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 |
niestandardowych danych używanych do stosowania reguł zabezpieczeń na poziomie wiersza. Obsługiwane tylko w przypadku połączeń na żywo z modelami usług 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 usługą 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 dowolne z następujących znaków |
EmbedToken
Token osadzania usługi Power BI
Nazwa | Typ | Opis |
---|---|---|
expiration |
string (date-time) |
Data i godzina wygaśnięcia tokenu (UTC) |
token |
string |
Token osadzania |
tokenId |
string (uuid) |
Unikatowy identyfikator tokenu. Za pomocą dzienników inspekcji identyfikator tokenu może służyć do korelowania operacji używających 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 używanych podczas nawiązywania połączenia ze źródłami danych z włączoną obsługą pojedynczego Sign-On (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 momentu wygenerowania tokenu. 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 GenerateTokenRequestV2
Nazwa | Typ | Opis |
---|---|---|
id |
string |
Identyfikator zestawu danych |
xmlaPermissions |
Uprawnienia XMLA |
GenerateTokenRequestV2Report
Obiekt raportu w GenerateTokenRequestV2
Nazwa | Typ | Opis |
---|---|---|
allowEdit |
boolean |
Czy wygenerowany token osadzania obsługuje edytowanie raportów |
id |
string (uuid) |
Identyfikator raportu |
GenerateTokenRequestV2TargetWorkspace
Obiekt obszaru roboczego w GenerateTokenRequestV2
Nazwa | Typ | Opis |
---|---|---|
id |
string (uuid) |
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 usługą Azure SQL
Nazwa | Typ | Opis |
---|---|---|
value |
string |
Token dostępu OAuth 2.0 dla usługi Azure SQL |
XmlaPermissions
Uprawnienia XMLA
Wartość | Opis |
---|---|
Off |
Wskazuje, że wygenerowany token osadzania nie udziela uprawnień dostępu do punktu końcowego XMLA zestawu danych. |
ReadOnly |
Wskazuje, że wygenerowany token osadzania udziela uprawnień dostępu do odczytu do punktu końcowego XMLA zestawu danych. |