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
- Quando si usa un'entità servizio per l'autenticazione, vedere Incorporare il contenuto di Power BI con l'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 l'esempio.
- Questa chiamata API può essere chiamata da un profilo 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 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 |
Elenco di set di dati |
|
datasourceIdentities |
Elenco di identità da usare per la connessione alle origini dati con Single Sign-On (SSO) abilitato. |
|
identities |
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 ( |
reports |
Elenco di report |
|
targetWorkspaces |
Elenco di aree di lavoro in cui il token di incorporamento consentirà il salvataggio in |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
OK |
Esempio
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"
}
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
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 |
---|---|
Datasource |
Dettagli della connessione all'origine dati di Power BI. Vedere esempi in Recupera origini dati o Recupera origini dati in gruppo. |
Datasource |
Identità efficace per la connessione di origini dati DirectQuery con l'accesso Single Sign-On (SSO) abilitato. |
Datasource |
Oggetto che identifica in modo univoco un'unica origine dati in base ai dettagli della connessione. |
Effective |
Definisce l'identità utente e i ruoli. Per altre informazioni, vedere Sicurezza a livello di riga con Power BI Embedded. |
Embed |
Token di incorporamento di Power BI |
Generate |
Power BI Genera richiesta token V2 |
Generate |
Oggetto set di dati in GenerateTokenRequestV2 |
Generate |
Oggetto report in GenerateTokenRequestV2 |
Generate |
Oggetto area di lavoro in GenerateTokenRequestV2 |
Identity |
BLOB per specificare un'identità. Supportato solo per i set di dati con una connessione DirectQuery a Azure SQL |
Xmla |
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 |
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 |
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.
|
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 |
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 |
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 |
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 |
Elenco di set di dati |
|
datasourceIdentities |
Elenco delle identità da usare durante la connessione alle origini dati con single Sign-On (SSO) abilitato. |
|
identities |
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 ( |
reports |
Elenco di report |
|
targetWorkspaces |
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 |
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. |