Udostępnij za pośrednictwem


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

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

GenerateTokenRequestV2Dataset[]

Lista zestawów danych

datasourceIdentities

DatasourceIdentity[]

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

EffectiveIdentity[]

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 (0) jest równoważne null, i ustawi domyślny czas wygaśnięcia.

reports

GenerateTokenRequestV2Report[]

Lista raportów

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Lista obszarów roboczych, do których token osadzania zezwoli na zapisywanie

Odpowiedzi

Nazwa Typ Opis
200 OK

EmbedToken

OK

Przykłady

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

Definicje

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

DatasourceIdentity

Efektywna tożsamość do łączenia źródeł danych DirectQuery z włączonym logowaniem jednokrotnym.

DatasourceSelector

Obiekt, który jednoznacznie identyfikuje pojedyncze źródło danych według szczegółów połączenia.

EffectiveIdentity

Definiuje tożsamość użytkownika i role. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza z Power BI Embedded.

EmbedToken

Token osadzania usługi Power BI

GenerateTokenRequestV2

Generowanie żądania tokenu w usłudze Power BI w wersji 2

GenerateTokenRequestV2Dataset

Obiekt zestawu danych w funkcji GenerateTokenRequestV2

GenerateTokenRequestV2Report

Obiekt raportu w funkcji GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Obiekt obszaru roboczego w funkcji GenerateTokenRequestV2

IdentityBlob

Obiekt blob do określania tożsamości. Obsługiwane tylko w przypadku zestawów danych z połączeniem DirectQuery z Azure SQL

XmlaPermissions

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

DatasourceSelector[]

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

DatasourceConnectionDetails

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.

Nazwa interfejsu API dla źródła danych
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Exchange Rozszerzenie
Facebook File Folder
GoogleAnalytics Hdfs HDInsight
Informix MQ MySql
OData ODBC OleDb
Oracle PostgreSQL PowerQueryMashup
PubNub SalesForce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib Lista programu SharePoint
Sql Sybase Teradata
UIFlow Internet

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

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 ,znaku , a jego długość nie może przekraczać 50 znaków.

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., #^~_!-, . \\@ W przypadku modeli w chmurze nazwa użytkownika może zawierać dowolny znak ASCII. W przypadku dowolnego modelu długość nazwy użytkownika nie może przekraczać 256 znaków, a nazwa użytkownika nie powinna zawierać spacji.

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

GenerateTokenRequestV2Dataset[]

Lista zestawów danych

datasourceIdentities

DatasourceIdentity[]

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

EffectiveIdentity[]

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 (0) jest równoważne nullwartościom i ustawi domyślny czas wygaśnięcia.

reports

GenerateTokenRequestV2Report[]

Lista raportów

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

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

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.