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í 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í

Požadovaný obor

Pokud se na to nevztahuje požadavek, platí všechny následující:

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

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 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 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 (0) je ekvivalentem nulla nastaví výchozí čas vypršení platnosti.

reports

GenerateTokenRequestV2Report[]

Seznam sestav

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Seznam pracovních prostorů, do kterého token pro vložení umožní 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.

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

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

DatasourceIdentity

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

DatasourceSelector

Objekt, který jedinečně identifikuje jeden zdroj dat podle podrobností připojení.

EffectiveIdentity

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

EmbedToken

Token power BI pro vložení

GenerateTokenRequestV2

Žádost o vygenerování tokenu Power BI 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. Podporováno pouze 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é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

DatasourceSelector[]

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

DatasourceConnectionDetails

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.

Název rozhraní API pro zdroj dat
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase Centrum událostí
Excel Výměna Rozšíření
Facebook File Složka
GoogleAnalytics Hdfs HDInsight
Informix MQ MySQL
OData ODBC OleDb
Oracle PostgreSQL PowerQueryMashup
PubNub Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib Seznam SharePointu
Sql Sybase Teradata
UIFlow Web

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

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ě ,a její délka nesmí překročit 50 znaků.

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ů ., , , _, !, #^, ~, , . @\\- 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 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

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 Sign-On (SSO).

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 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 (0) je ekvivalentem nullhodnoty a nastaví výchozí čas vypršení platnosti.

reports

GenerateTokenRequestV2Report[]

Seznam sestav

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

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

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.