Embed Token - Generate Token
Vygeneruje token pro vložení pro více sestav, datových sad a cílových pracovních prostorů.
- Sestavy a datové sady nemusí souviset.
- Sestavu můžete při vkládání svázat s datovou sadou.
- Sestavu můžete vytvořit pouze v pracovních prostorech určených parametrem
targetWorkspaces
.
Důležité
Toto volání rozhraní API je relevantní pouze pro scénář vložení pro vaše zákazníky . Další informace o používání tohoto rozhraní API najdete v tématu Důležité informace o generování tokenu pro vložení.
Oprávnění
- Pokud k ověřování používáte instanční objekt, přečtěte si téma Vložení obsahu Power BI s instančním objektem a Důležité informace a omezení.
- V případě sestav Power BI se stránkovaným vizuálem zahrňte ID stránkované sestavy do volání rozhraní API. Další informace najdete v příkladu.
- Toto volání rozhraní API lze volat pomocí profilu instančního objektu. Další informace najdete v tématu Profily instančního objektu v Power BI Embedded.
Požadovaný obor
Pokud se na to nevztahuje požadavek, platí všechny následující:
- Content.Create, povinné, pokud je cílový pracovní prostor zadaný v GenerateTokenRequestV2.
- Report.ReadWrite.All nebo Report.Read.All, vyžaduje se, pokud je sestava zadána v GenerateTokenRequestV2.
- Report.ReadWrite.All, povinné, pokud
allowEdit
je příznak zadán alespoň pro jednu sestavu v GenerateTokenRequestV2. - Dataset.ReadWrite.All nebo Dataset.Read.All
Omezení
- Sestavu můžete vytvořit pouze v pracovních prostorech určených parametrem
targetWorkspaces
. - Všechny sestavy a datové sady se musí nacházet v pracovním prostoru verze 2 .
- Všechny cílové pracovní prostory musí být pracovní prostory V2 .
- Maximálně 50 sestav.
- Maximálně 50 datových sad.
- Maximálně 50 cílových pracovních prostorů.
- V případě sestav Azure Analysis Services nebo místního živého připojení služby Analysis Services nemusí generování tokenu pro vložení se zabezpečením na úrovni řádků (RLS) několik minut po opětovné vazbě fungovat.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Text požadavku
Name | Typ | Description |
---|---|---|
datasets |
Seznam datových sad |
|
datasourceIdentities |
Seznam identit, které se mají použít při připojování ke zdrojům dat s povoleným jednotným Sign-On |
|
identities |
Seznam identit, které se mají použít pro pravidla zabezpečení na úrovni řádků |
|
lifetimeInMinutes |
integer |
Maximální životnost tokenu v minutách počínaje časem jeho vygenerování. Dá se použít ke zkrácení doby vypršení platnosti tokenu, ale ne k jejímu prodloužení. Hodnota musí být kladné celé číslo. Nula ( |
reports |
Seznam sestav |
|
targetWorkspaces |
Seznam pracovních prostorů, do kterého token pro vložení umožní ukládání |
Odpovědi
Name | Typ | Description |
---|---|---|
200 OK |
OK |
Příklady
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"
}
Definice
Name | Description |
---|---|
Datasource |
Podrobnosti o připojení ke zdroji dat Power BI Příklady najdete v tématech Získání zdrojů dat nebo Získání zdrojů dat do skupiny. |
Datasource |
Efektivní identita pro připojení zdrojů dat DirectQuery s povoleným jednotným přihlašováním |
Datasource |
Objekt, který jedinečně identifikuje jeden zdroj dat podle podrobností připojení. |
Effective |
Definuje identitu a role uživatele. Další informace najdete v tématu Zabezpečení na úrovni řádků s Power BI Embedded. |
Embed |
Token power BI pro vložení |
Generate |
Žádost o vygenerování tokenu Power BI V2 |
Generate |
Objekt datové sady v GenerateTokenRequestV2 |
Generate |
Objekt sestavy v GenerateTokenRequestV2 |
Generate |
Objekt pracovního prostoru v GenerateTokenRequestV2 |
Identity |
Objekt blob pro zadání identity. Podporováno pouze u datových sad s připojením DirectQuery k Azure SQL |
Xmla |
Oprávnění XMLA |
DatasourceConnectionDetails
Podrobnosti o připojení ke zdroji dat Power BI Příklady najdete v tématech Získání zdrojů dat nebo Získání zdrojů dat do skupiny.
Name | Typ | Description |
---|---|---|
account |
string |
Účet připojení |
classInfo |
string |
Informace o třídě připojení |
database |
string |
Databáze připojení |
domain |
string |
Doména připojení |
emailAddress |
string |
E-mailová adresa připojení |
kind |
string |
Druh připojení |
loginServer |
string |
Přihlašovací server připojení |
path |
string |
Cesta k připojení |
server |
string |
Server připojení |
url |
string |
Adresa URL připojení |
DatasourceIdentity
Efektivní identita pro připojení zdrojů dat DirectQuery s povoleným jednotným přihlašováním
Name | Typ | Description |
---|---|---|
datasources |
Pole zdrojů dat, na které se tato identita vztahuje. |
|
identityBlob |
string |
Objekt blob pro zadání identity. |
DatasourceSelector
Objekt, který jedinečně identifikuje jeden zdroj dat podle podrobností připojení.
Name | Typ | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
connectionDetails |
Podrobnosti o připojení ke zdroji dat Podrobnosti o připojení můžete získat pomocí možnosti Získat zdroje dat pro stránkované sestavy a Získat zdroje dat pro rozhraní API sestav Powerbi . |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
Typ zdroje dat.
|
EffectiveIdentity
Definuje identitu a role uživatele. Další informace najdete v tématu Zabezpečení na úrovni řádků s Power BI Embedded.
Name | Typ | Description |
---|---|---|
auditableContext |
string |
Auditovatelný kontext EffectiveIdentity. Pokud je tento parametr zadaný a není prázdný, umožní auditování effectiveidentity a jeho hodnota se nastaví na uživatelské jméno v záznamu auditu. V opačném případě se kontext EffectiveIdentity ze záznamu auditu GenerateToken vynechá. |
customData |
string |
Vlastní data , která se používají k použití pravidel zabezpečení na úrovni řádků. Podporuje se pouze pro živé připojení k modelům Azure Analysis Services a cloudovým modelům. |
datasets |
string[] |
Pole datových sad, pro které se tato identita vztahuje |
identityBlob |
Objekt blob, který určuje identitu. Podporuje se pouze pro datové sady s připojením DirectQuery k Azure SQL. |
|
reports |
string[] |
Pole sestav, pro které se tato identita vztahuje. Podporováno pouze pro stránkované sestavy. |
roles |
string[] |
Pole rolí zabezpečení na úrovni řádků (RLS) v rámci tokenu, který používá pravidla zabezpečení na úrovni řádků. Identita může obsahovat až 50 rolí. Role může obsahovat libovolný znak kromě |
username |
string |
Efektivní uživatelské jméno v rámci tokenu, které používá pravidla zabezpečení na úrovni řádků. V případě místního modelu může uživatelské jméno obsahovat alfanumerické znaky nebo některý z následujících znaků |
EmbedToken
Token power BI pro vložení
Name | Typ | Description |
---|---|---|
expiration |
string |
Datum a čas (UTC) vypršení platnosti tokenu |
token |
string |
Token pro vložení |
tokenId |
string |
Jedinečné ID tokenu. Prostřednictvím protokolů auditu je možné ID tokenu použít ke korelaci operací, které token používají, s operací generování. |
GenerateTokenRequestV2
Žádost o vygenerování tokenu Power BI V2
Name | Typ | Description |
---|---|---|
datasets |
Seznam datových sad |
|
datasourceIdentities |
Seznam identit, které se mají použít při připojování ke zdrojům dat s povoleným jednotným Sign-On (SSO). |
|
identities |
Seznam identit, které se mají použít pro pravidla zabezpečení na úrovni řádků |
|
lifetimeInMinutes |
integer |
Maximální životnost tokenu v minutách od jeho vygenerování. Můžete ho použít ke zkrácení doby vypršení platnosti tokenu, ale ne k jejímu prodloužení. Hodnota musí být kladné celé číslo. Nula ( |
reports |
Seznam sestav |
|
targetWorkspaces |
Seznam pracovních prostorů, do které token pro vložení umožní uložení |
GenerateTokenRequestV2Dataset
Objekt datové sady v GenerateTokenRequestV2
Name | Typ | Description |
---|---|---|
id |
string |
ID datové sady |
xmlaPermissions |
Oprávnění XMLA |
GenerateTokenRequestV2Report
Objekt sestavy v GenerateTokenRequestV2
Name | Typ | Description |
---|---|---|
allowEdit |
boolean |
Určuje, jestli vygenerovaný token pro vložení podporuje úpravy sestavy. |
id |
string |
ID sestavy |
GenerateTokenRequestV2TargetWorkspace
Objekt pracovního prostoru v GenerateTokenRequestV2
Name | Typ | Description |
---|---|---|
id |
string |
ID pracovního prostoru |
IdentityBlob
Objekt blob pro zadání identity. Podporováno pouze u datových sad s připojením DirectQuery k Azure SQL
Name | Typ | Description |
---|---|---|
value |
string |
Přístupový token OAuth 2.0 pro Azure SQL |
XmlaPermissions
Oprávnění XMLA
Name | Typ | Description |
---|---|---|
Off |
string |
Označuje, že vygenerovaný token pro vložení neuděluje přístupová oprávnění ke koncovému bodu XMLA datové sady. |
ReadOnly |
string |
Označuje, že vygenerovaný token pro vložení uděluje oprávnění ke čtení přístupu ke koncovému bodu XMLA datové sady. |