Embed Token - Reports GenerateTokenInGroup

Genera un token di incorporamento per visualizzare o modificare il report specificato dall'area di lavoro specificata.

Suggerimento

Per creare token di incorporamento, è consigliabile usare l'API più recente, Genera token. Genera token supporta funzioni aggiuntive, ad esempio la creazione di un token per più elementi.

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:

  • Report.ReadWrite.All o Report.Read.All
  • Dataset.ReadWrite.All o Dataset.Read.All
  • Content.Create, obbligatorio se il allowSaveAs flag è specificato in GenerateTokenRequest

Limitazioni

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

POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken

Parametri dell'URI

Nome In Necessario Tipo Descrizione
groupId
path True

string

uuid

ID area di lavoro

reportId
path True

string

uuid

The report ID

Corpo della richiesta

Nome Tipo Descrizione
accessLevel

TokenAccessLevel

Livello di accesso necessario per la generazione di token di incorporamento

allowSaveAs

boolean

Indica se un report incorporato può essere salvato come nuovo report. Il valore predefinito è false. Si applica solo quando si genera un token di incorporamento per l'incorporamento del report.

datasetId

string

ID del set di dati usato per la creazione del report. Si applica solo quando si genera un token di incorporamento per la creazione del report.

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 di un token, ma non per estenderla. Il valore deve essere un numero intero positivo. Zero (0) equivale a Null e verrà ignorato, con conseguente scadenza predefinita.

Risposte

Nome Tipo Descrizione
200 OK

EmbedToken

OK

Esempio

Generate a paginated report embed token using an effective identity example
Generate a report embed token for editing example. The embed token uses an effective identity.
Generate a report embed token for viewing a report and saving to a new report example
Generate a report embed token using an effective identity example
Generate a report embed token using an effective identity with an identity blob example
Generate a report embed token using an effective identity with custom data for Azure Analysis Services example
Generate a report embed token using an effective identity with multiple roles example

Generate a paginated report embed token using an effective identity example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "John Smith",
      "reports": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token for editing example. The embed token uses an effective identity.

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "Edit",
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token for viewing a report and saving to a new report example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "allowSaveAs": "true"
}

Sample Response

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

Generate a report embed token using an effective identity example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token using an effective identity with an identity blob example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ],
      "identityBlob": {
        "value": "eyJ0eX....AAA="
      }
    }
  ]
}

Sample Response

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

Generate a report embed token using an effective identity with custom data for Azure Analysis Services example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "john@contoso.com",
      "customData": "john_contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token using an effective identity with multiple roles example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales",
        "marketing"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Definizioni

Nome Descrizione
EffectiveIdentity

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

EmbedToken

Un token di incorporamento di Power BI

GenerateTokenRequest

Generare una richiesta di token di Power BI

IdentityBlob

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

TokenAccessLevel

Livello di accesso necessario per la generazione di token di incorporamento

EffectiveIdentity

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

Nome Tipo Descrizione
auditableContext

string

Contesto controllabile effectiveIdentity. Se questo parametro viene specificato e non è vuoto, abiliterà il controllo di 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 a modelli di Azure Analysis Services e 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 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 ad eccezione ,di e la sua lunghezza non deve superare i 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 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

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.

GenerateTokenRequest

Generare una richiesta di token di Power BI

Nome Tipo Descrizione
accessLevel

TokenAccessLevel

Livello di accesso necessario per la generazione di token di incorporamento

allowSaveAs

boolean

Indica se un report incorporato può essere salvato come nuovo report. Il valore predefinito è false. Si applica solo quando si genera un token di incorporamento per l'incorporamento del report.

datasetId

string

ID del set di dati usato per la creazione del report. Si applica solo quando si genera un token di incorporamento per la creazione del report.

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 di un token, ma non per estenderla. Il valore deve essere un numero intero positivo. Zero (0) equivale a Null e verrà ignorato, con conseguente scadenza predefinita.

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

TokenAccessLevel

Livello di accesso necessario per la generazione di token di incorporamento

Nome Tipo Descrizione
Create

string

Indica che il token di incorporamento generato concede l'autorizzazione di creazione. Si applica solo quando si genera un token di incorporamento per la creazione del report.

Edit

string

Indica che il token di incorporamento generato concede le autorizzazioni di visualizzazione e modifica. Si applica solo quando si genera un token di incorporamento per l'incorporamento del report.

View

string

Indica che il token di incorporamento generato concede l'autorizzazione di sola visualizzazione