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

Importante

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

Autorizzazioni

  • Quando si usa un'entità servizio per l'autenticazione, vedere Incorporare contenuto di Power BI con dell'entità servizio e considerazioni e limitazioni .
  • Per i report di Power BI con un oggetto visivo impaginato, includere l'ID del report impaginato nella chiamata API. Per altre informazioni, vedere esempio.
  • Questa chiamata API può essere chiamata da un profilo dell'entità servizio. Per altre informazioni, vedere: profili entità servizio in Power BI Embedded.

Ambito obbligatorio

A meno che non si applichi un requisito:

  • Content.Create, obbligatorio se si specifica un'area di lavoro di destinazione in GenerateTokenRequestV2.
  • Report.ReadWrite.All o Report.Read.All, obbligatorio se un report viene specificato in GenerateTokenRequestV2.
  • Report.ReadWrite.All, obbligatorio se il flag di allowEdit è 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 parametro targetWorkspaces.
  • 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 v2 aree di lavoro.
  • Numero massimo di report di 50.
  • Massimo 50 set di dati.
  • Massimo 50 aree di lavoro di destinazione.
  • Per i report di connessione dinamica locali di Azure Analysis Services o Analysis Services, la generazione di un token di incorporamento con sicurezza a livello di riga potrebbe non funzionare per alcuni minuti dopo un riassociato.

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 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 in cui il token di incorporamento consentirà il salvataggio in

Risposte

Nome Tipo Descrizione
200 OK

EmbedToken

Va bene

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.

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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
}

Risposta di esempio

{
  "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 Ottenere origini dati o Recupera origini dati in.

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 una singola 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

Un token di incorporamento di Power BI

GenerateTokenRequestV2

Generazione della richiesta di token di Power BI V2

GenerateTokenRequestV2Dataset

Oggetto set di dati in GenerateTokenRequestV2

GenerateTokenRequestV2Report

Oggetto report in GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Oggetto workspace in GenerateTokenRequestV2

IdentityBlob

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

XmlaPermissions

Autorizzazioni XMLA

DatasourceConnectionDetails

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

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 alla 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 una singola origine dati in base ai dettagli della connessione.

Nome Tipo Descrizione
connectionDetails

DatasourceConnectionDetails

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

datasourceType

string

Tipo dell'origine dati .

Nome API per l'origine dati
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Scambio Estensione
Facebook Documento 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 specificato e non è vuoto, abiliterà il controllo dell'EffectiveIdentity 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 di 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 ad 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 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 sua lunghezza non deve superare i 50 caratteri.

username

string

Nome utente effettivo all'interno di un token che applica le regole di sicurezza a livello di riga. Per un modello locale, il nome utente può contenere caratteri alfanumerici o uno dei caratteri seguenti ., -, _, !, #, ^, ~, \\, @. 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

Un token di incorporamento di Power BI

Nome Tipo Descrizione
expiration

string (date-time)

Data e ora (UTC) della scadenza del token

token

string

Token di incorporamento

tokenId

string (uuid)

ID del 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

Generazione della richiesta di token di Power BI V2

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 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 in cui il token di incorporamento consentirà il salvataggio in

GenerateTokenRequestV2Dataset

Oggetto set di dati in GenerateTokenRequestV2

Nome Tipo Descrizione
id

string

ID set di dati

xmlaPermissions

XmlaPermissions

Autorizzazioni XMLA

GenerateTokenRequestV2Report

Oggetto report in GenerateTokenRequestV2

Nome Tipo Descrizione
allowEdit

boolean

Indica se il token di incorporamento generato supporta la modifica del report

id

string (uuid)

The report ID

GenerateTokenRequestV2TargetWorkspace

Oggetto workspace in GenerateTokenRequestV2

Nome Tipo Descrizione
id

string (uuid)

ID dell'area di lavoro

IdentityBlob

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

Nome Tipo Descrizione
value

string

Un token di accesso OAuth 2.0 per Azure SQL

XmlaPermissions

Autorizzazioni XMLA

Valore Descrizione
Off

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

ReadOnly

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