Condividi tramite


Embed Token - Generate Token

Genera un token di incorporamento per più report, set di dati e aree di lavoro di destinazione.

  • I report e i set di dati non devono essere correlati.
  • È possibile associare un report a un set di dati durante l'incorporamento.
  • È possibile creare un report solo nelle aree di lavoro specificate dal targetWorkspaces parametro .

Importante

Questa chiamata API è rilevante solo per lo scenario di incorporamento per i clienti . Per altre informazioni sull'uso di questa API, vedere Considerazioni per la generazione di un token di incorporamento.

Autorizzazioni

Ambito obbligatorio

A meno che non si applichi un requisito:

  • Content.Create, obbligatorio se viene specificata un'area di lavoro di destinazione in GenerateTokenRequestV2.
  • Report.ReadWrite.All o Report.Read.All, obbligatorio se viene specificato un report in GenerateTokenRequestV2.
  • Report.ReadWrite.All, obbligatorio se il allowEdit flag è specificato per almeno un report in GenerateTokenRequestV2.
  • Dataset.ReadWrite.All o Dataset.Read.All

Limitazioni

  • È possibile creare un report solo nelle aree di lavoro specificate dal targetWorkspaces parametro .
  • Tutti i report e i set di dati devono trovarsi in un'area di lavoro V2 .
  • Tutte le aree di lavoro di destinazione devono essere aree di lavoro V2 .
  • Numero massimo di report di 50.
  • Massimo 50 set di dati.
  • Massimo 50 aree di lavoro di destinazione.
  • Per Azure Analysis Services o report di connessione dinamica locale di Analysis Services, la generazione di un token di incorporamento con la sicurezza a livello di riga potrebbe non funzionare per alcuni minuti dopo una riassociazione.

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

Corpo della richiesta

Nome Tipo Descrizione
datasets

GenerateTokenRequestV2Dataset[]

Elenco di set di dati

datasourceIdentities

DatasourceIdentity[]

Elenco di identità da usare per la connessione alle origini dati con Single Sign-On (SSO) abilitato.

identities

EffectiveIdentity[]

Elenco di identità da usare per le regole di sicurezza a livello di riga

lifetimeInMinutes

integer

Durata massima del token in minuti, a partire dal momento in cui è stata generata. Può essere usato per abbreviare la scadenza del token, ma non per estenderla. Il valore deve essere un numero intero positivo. Zero (0) equivale a nulle imposterà l'ora di scadenza predefinita.

reports

GenerateTokenRequestV2Report[]

Elenco di report

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Elenco di aree di lavoro in cui il token di incorporamento consentirà il salvataggio in

Risposte

Nome Tipo Descrizione
200 OK

EmbedToken

OK

Esempio

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

Definizioni

Nome Descrizione
DatasourceConnectionDetails

Dettagli della connessione all'origine dati di Power BI. Vedere esempi in Recupera origini dati o Recupera origini dati in gruppo.

DatasourceIdentity

Identità efficace per la connessione di origini dati DirectQuery con l'accesso Single Sign-On (SSO) abilitato.

DatasourceSelector

Oggetto che identifica in modo univoco un'unica origine dati in base ai dettagli della connessione.

EffectiveIdentity

Definisce l'identità utente e i ruoli. Per altre informazioni, vedere Sicurezza a livello di riga con Power BI Embedded.

EmbedToken

Token di incorporamento di Power BI

GenerateTokenRequestV2

Power BI Genera richiesta token V2

GenerateTokenRequestV2Dataset

Oggetto set di dati in GenerateTokenRequestV2

GenerateTokenRequestV2Report

Oggetto report in GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Oggetto area di lavoro in GenerateTokenRequestV2

IdentityBlob

BLOB per specificare un'identità. Supportato solo per i set di dati con una connessione DirectQuery a Azure SQL

XmlaPermissions

Autorizzazioni XMLA

DatasourceConnectionDetails

Dettagli della connessione all'origine dati di Power BI. Vedere esempi in Recupera origini dati o Recupera origini dati in gruppo.

Nome Tipo Descrizione
account

string

Account di connessione

classInfo

string

Informazioni sulla classe di connessione

database

string

Database di connessione

domain

string

Dominio di connessione

emailAddress

string

Indirizzo di posta elettronica di connessione

kind

string

Tipo di connessione

loginServer

string

Server di accesso della connessione

path

string

Percorso di connessione

server

string

Server di connessione

url

string

URL di connessione

DatasourceIdentity

Identità efficace per la connessione di origini dati DirectQuery con l'accesso Single Sign-On (SSO) abilitato.

Nome Tipo Descrizione
datasources

DatasourceSelector[]

Matrice di origini dati a cui si applica questa identità.

identityBlob

string

BLOB per specificare l'identità.

DatasourceSelector

Oggetto che identifica in modo univoco un'unica origine dati in base ai dettagli della connessione.

Nome Tipo Descrizione
connectionDetails

DatasourceConnectionDetails

Dettagli della connessione all'origine dati. È possibile ottenere i dettagli della connessione usando Recupera origini dati per i report impaginati e Ottenere origini dati per le API dei report di PowerBI .

datasourceType

string

Tipo dell'origine dati.

Nome API per l'origine dati
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace Tabelle di Azure BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase Hub eventi
Excel Exchange Estensione
Facebook File Cartella
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 Web

EffectiveIdentity

Definisce l'identità utente e i ruoli. Per altre informazioni, vedere Sicurezza a livello di riga con Power BI Embedded.

Nome Tipo Descrizione
auditableContext

string

Contesto controllabile di EffectiveIdentity. Se questo parametro viene fornito e non è vuoto, abiliterà il controllo dell'effettività e il relativo valore verrà impostato sul nome utente nel record di controllo. In caso contrario, il contesto EffectiveIdentity verrà omesso dal record di controllo GenerateToken.

customData

string

Dati personalizzati usati per applicare regole di sicurezza a livello di riga. Supportato solo per la connessione dinamica ai modelli Azure Analysis Services e ai modelli cloud.

datasets

string[]

Matrice di set di dati per cui si applica questa identità

identityBlob

IdentityBlob

BLOB che specifica un'identità. Supportato solo per i set di dati con una connessione DirectQuery a Azure SQL.

reports

string[]

Matrice di report per cui si applica questa identità. Supportato solo per i report impaginati.

roles

string[]

Matrice di ruoli di sicurezza a livello di riga (RLS) all'interno di un token che applica regole di sicurezza a livello di riga. Un'identità può contenere fino a 50 ruoli. Un ruolo può contenere qualsiasi carattere tranne ,, e la relativa lunghezza non deve superare 50 caratteri.

username

string

Nome utente effettivo all'interno di un token che applica regole di sicurezza a livello di riga. Per un modello locale, il nome utente può contenere alfanumerici o uno dei seguenti caratteri ., #-!@_^~\\. . Per i modelli cloud, il nome utente può contenere qualsiasi carattere ASCII. Per entrambi i modelli, la lunghezza del nome utente non deve superare i 256 caratteri e il nome utente non deve contenere spazi.

EmbedToken

Token di incorporamento di Power BI

Nome Tipo Descrizione
expiration

string

Data e ora (UTC) della scadenza del token

token

string

Token di incorporamento

tokenId

string

ID token univoco. Tramite i log di controllo, l'ID token può essere usato per correlare le operazioni che usano il token con l'operazione di generazione.

GenerateTokenRequestV2

Power BI Genera richiesta token V2

Nome Tipo Descrizione
datasets

GenerateTokenRequestV2Dataset[]

Elenco di set di dati

datasourceIdentities

DatasourceIdentity[]

Elenco delle identità da usare durante la connessione alle origini dati con single Sign-On (SSO) abilitato.

identities

EffectiveIdentity[]

Elenco delle identità da usare per le regole di sicurezza a livello di riga

lifetimeInMinutes

integer

Durata massima del token in minuti, a partire dal momento in cui è stata generata. Può essere usato per ridurre l'ora di scadenza del token, ma non per estenderla. Il valore deve essere un numero intero positivo. Zero (0) equivale a nulle imposta l'ora di scadenza predefinita.

reports

GenerateTokenRequestV2Report[]

Elenco di report

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Elenco di aree di lavoro che il token di incorporamento consentirà di salvare

GenerateTokenRequestV2Dataset

Oggetto set di dati in GenerateTokenRequestV2

Nome Tipo Descrizione
id

string

ID del set di dati

xmlaPermissions

XmlaPermissions

Autorizzazioni XMLA

GenerateTokenRequestV2Report

Oggetto report in GenerateTokenRequestV2

Nome Tipo Descrizione
allowEdit

boolean

Se il token di incorporamento generato supporta la modifica del report

id

string

The report ID

GenerateTokenRequestV2TargetWorkspace

Oggetto area di lavoro in GenerateTokenRequestV2

Nome Tipo Descrizione
id

string

ID area di lavoro

IdentityBlob

BLOB per specificare un'identità. Supportato solo per i set di dati con una connessione DirectQuery a Azure SQL

Nome Tipo Descrizione
value

string

Token di accesso OAuth 2.0 per Azure SQL

XmlaPermissions

Autorizzazioni XMLA

Nome Tipo Descrizione
Off

string

Indica che il token di incorporamento generato non concede le autorizzazioni di accesso all'endpoint XMLA del set di dati.

ReadOnly

string

Indica che il token di incorporamento generato concede le autorizzazioni di accesso in lettura all'endpoint XMLA del set di dati.