Sdílet prostřednictvím


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í jenom pro vložení pro zákazníky scénář. Další informace o používání tohoto rozhraní API najdete v tématu Důležité informace o generování tokenu pro vložení.

Dovolení

Požadovaný obor

Pokud se požadavek nevztahuje, platí toto:

  • 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, vyžaduje se, pokud je příznak allowEdit 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 V2.
  • Všechny cílové pracovní prostory musí být pracovních prostorů verze 2.
  • Maximálně 50 sestav.
  • Maximálně 50 datových sad.
  • Maximálně 50 cílových pracovních prostorů.
  • V případě sestav místního živého připojení služby Azure Analysis Services nebo Analysis Services nemusí generování tokenu pro vložení se zabezpečením na úrovni řádků (RLS) fungovat několik minut po opětovné vazby.

POST https://api.powerbi.com/v1.0/myorg/GenerateToken

Text požadavku

Name Typ Description
datasets

GenerateTokenRequestV2Dataset[]

Seznam datových sad

datasourceIdentities

DatasourceIdentity[]

Seznam identit, které se mají použít při připojování ke zdrojům dat s povoleným jednotným přihlašováním (Single Sign-On).

identities

EffectiveIdentity[]

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 vygenerování tokenu. Dá se použít ke zkrácení doby vypršení platnosti tokenu, ale ne k jeho rozšíření. Hodnota musí být kladné celé číslo. Nula (0) je ekvivalentní nulla nastaví výchozí čas vypršení platnosti.

reports

GenerateTokenRequestV2Report[]

Seznam sestav

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Seznam pracovních prostorů, do které bude token pro vložení umožňovat ukládání

Odpovědi

Name Typ Description
200 OK

EmbedToken

OK

Příklady

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.

Ukázkový požadavek

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

Ukázková odpověď

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

Ukázkový požadavek

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

Ukázková odpověď

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

Ukázkový požadavek

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

Ukázková odpověď

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

Ukázkový požadavek

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

Ukázková odpověď

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

Ukázkový požadavek

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

Ukázková odpověď

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2028-07-29T17:58:19Z"
}

Ukázkový požadavek

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

Ukázková odpověď

{
  "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.

Ukázkový požadavek

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

Ukázková odpověď

{
  "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.

Ukázkový požadavek

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

Ukázková odpověď

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

Ukázkový požadavek

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
}

Ukázková odpověď

{
  "token": "H4sI....AAA=",
  "tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
  "expiration": "2028-07-29T17:58:19Z"
}

Definice

Name Description
DatasourceConnectionDetails

Podrobnosti o připojení ke zdroji dat Power BI Příklady najdete v tématu Získat zdroje dat nebo Získat zdroje dat ve skupině.

DatasourceIdentity

Platná identita pro připojení zdrojů dat DirectQuery s povoleným jednotným přihlašováním

DatasourceSelector

Objekt, který jednoznačně identifikuje jeden zdroj dat jeho podrobnostmi o připojení.

EffectiveIdentity

Definuje identitu a role uživatele. Další informace najdete v tématu zabezpečení na úrovni řádků pomocíPower BI Embedded .

EmbedToken

Token pro vložení Power BI

GenerateTokenRequestV2

Power BI Generate Token Request V2

GenerateTokenRequestV2Dataset

Objekt datové sady v GenerateTokenRequestV2

GenerateTokenRequestV2Report

Objekt sestavy v GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Objekt pracovního prostoru v GenerateTokenRequestV2

IdentityBlob

Objekt blob pro zadání identity. Podporuje se jenom u datových sad s připojením DirectQuery k Azure SQL.

XmlaPermissions

Oprávnění XMLA

DatasourceConnectionDetails

Podrobnosti o připojení ke zdroji dat Power BI Příklady najdete v tématu Získat zdroje dat nebo Získat zdroje dat ve skupině.

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 připojení

server

string

Server připojení

url

string

Adresa URL připojení

DatasourceIdentity

Platná identita pro připojení zdrojů dat DirectQuery s povoleným jednotným přihlašováním

Name Typ Description
datasources

DatasourceSelector[]

Pole zdrojů dat, na které se tato identita vztahuje.

identityBlob

string

Objekt blob pro zadání identity.

DatasourceSelector

Objekt, který jednoznačně identifikuje jeden zdroj dat jeho podrobnostmi o připojení.

Name Typ Description
connectionDetails

DatasourceConnectionDetails

Podrobnosti o připojení ke zdroji dat Podrobnosti o připojení můžete získat pomocí Získat zdroje dat pro stránkované sestavy a Získat zdroje dat pro sestavy Powerbi rozhraní API.

datasourceType

string

Typ zdroje dat.

Název rozhraní API pro zdroj dat
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Výměna Prodloužení
Facebook Soubor Složka
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 internetové stránky

EffectiveIdentity

Definuje identitu a role uživatele. Další informace najdete v tématu zabezpečení na úrovni řádků pomocíPower BI Embedded .

Name Typ Description
auditableContext

string

Auditovatelný kontext EffectiveIdentity. Pokud je tento parametr zadaný a není prázdný, povolí auditování EffectiveIdentity a jeho hodnota se nastaví na uživatelské jméno v záznamu auditu. V opačném případě bude kontext EffectiveIdentity vynechán ze záznamu auditu GenerateToken.

customData

string

vlastních dat, která slouží k použití pravidel zabezpečení na úrovni řádků. Podporuje se pouze ž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

IdentityBlob

Objekt blob, který určuje identity. Podporuje se jenom u datových sad s připojením DirectQuery k Azure SQL.

reports

string[]

Pole sestav, pro které tato identita platí. Podporuje se jenom pro stránkované sestavy.

roles

string[]

Pole rolí zabezpečení na úrovni řádků (RLS) v tokenu, který používá pravidla zabezpečení na úrovni řádků. Identita může obsahovat až 50 rolí. Role může obsahovat libovolný znak kromě ,a jeho délka nesmí překročit 50 znaků.

username

string

Efektivní uživatelské jméno v tokenu, které používá pravidla zabezpečení na úrovni řádků. U místního modelu může uživatelské jméno obsahovat alfanumerické nebo libovolné z následujících znaků ., -, _, !, #, ^, ~, \\, @. U cloudových modelů může uživatelské jméno obsahovat libovolný znak ASCII. U obou modelů nesmí délka uživatelského jména překročit 256 znaků a uživatelské jméno nesmí obsahovat mezery.

EmbedToken

Token pro vložení Power BI

Name Typ Description
expiration

string (date-time)

Datum a čas (UTC) vypršení platnosti tokenu

token

string

Token pro vložení

tokenId

string (uuid)

Jedinečné ID tokenu. Prostřednictvím protokolů auditu lze ID tokenu použít ke korelaci operací, které token používají s operací generování.

GenerateTokenRequestV2

Power BI Generate Token Request V2

Name Typ Description
datasets

GenerateTokenRequestV2Dataset[]

Seznam datových sad

datasourceIdentities

DatasourceIdentity[]

Seznam identit, které se mají použít při připojování ke zdrojům dat s povoleným jednotným přihlašováním (Single Sign-On).

identities

EffectiveIdentity[]

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 vygenerování tokenu. Dá se použít ke zkrácení doby vypršení platnosti tokenu, ale ne k jeho rozšíření. Hodnota musí být kladné celé číslo. Nula (0) je ekvivalentní nulla nastaví výchozí čas vypršení platnosti.

reports

GenerateTokenRequestV2Report[]

Seznam sestav

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Seznam pracovních prostorů, do které bude token pro vložení umožňovat ukládání

GenerateTokenRequestV2Dataset

Objekt datové sady v GenerateTokenRequestV2

Name Typ Description
id

string

ID datové sady

xmlaPermissions

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 (uuid)

ID sestavy

GenerateTokenRequestV2TargetWorkspace

Objekt pracovního prostoru v GenerateTokenRequestV2

Name Typ Description
id

string (uuid)

ID pracovního prostoru

IdentityBlob

Objekt blob pro zadání identity. Podporuje se jenom 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

Hodnota Description
Off

Označuje, že vygenerovaný token pro vložení neuděluje přístupová oprávnění ke koncovému bodu XMLA datové sady.

ReadOnly

Označuje, že vygenerovaný token pro vložení uděluje oprávnění ke čtení přístupu ke koncovému bodu XMLA datové sady.