Embed Token - Generate Token

Gera um token de inserção para vários relatórios, conjuntos de dados e workspaces de destino.

  • Relatórios e conjuntos de dados não precisam estar relacionados.
  • Você pode associar um relatório a um conjunto de dados durante a inserção.
  • Você só pode criar um relatório em workspaces especificados pelo targetWorkspaces parâmetro .

Importante

Essa chamada à API só é relevante para o cenário de inserção para seus clientes . Para saber mais sobre como usar essa API, confira Considerações ao gerar um token de inserção.

Permissões

Escopo necessário

Tudo isso, a menos que um requisito não se aplique:

  • Content.Create, necessário se um workspace de destino for especificado em GenerateTokenRequestV2.
  • Report.ReadWrite.All ou Report.Read.All, necessário se um relatório for especificado em GenerateTokenRequestV2.
  • Report.ReadWrite.All, necessário se o allowEdit sinalizador for especificado para pelo menos um relatório em GenerateTokenRequestV2.
  • Dataset.ReadWrite.All ou Dataset.Read.All

Limitações

  • Você só pode criar um relatório em workspaces especificados pelo targetWorkspaces parâmetro .
  • Todos os relatórios e conjuntos de dados devem residir em um workspace V2 .
  • Todos os workspaces de destino devem ser workspaces V2 .
  • Máximo de 50 relatórios.
  • Máximo de 50 conjuntos de dados.
  • Máximo de 50 workspaces de destino.
  • Para relatórios de conexão dinâmica local do Azure Analysis Services ou do Analysis Services, a geração de um token de inserção com RLS (segurança em nível de linha) pode não funcionar por vários minutos após uma reassociação.

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

Corpo da solicitação

Nome Tipo Description
datasets

GenerateTokenRequestV2Dataset[]

Uma lista de conjuntos de dados

datasourceIdentities

DatasourceIdentity[]

Lista de identidades a serem usadas ao se conectar a fontes de dados com o SSO (Sign-On único) habilitado.

identities

EffectiveIdentity[]

A lista de identidades a serem usadas para regras de segurança em nível de linha

lifetimeInMinutes

integer

O tempo de vida máximo do token em minutos, começando a partir do momento em que ele foi gerado. Pode ser usado para reduzir o tempo de expiração do token, mas não para estendê-lo. O valor deve ser um inteiro positivo. Zero (0) é equivalente a nulle definirá o tempo de expiração padrão.

reports

GenerateTokenRequestV2Report[]

Uma lista de relatórios

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

A lista de workspaces em que o token de inserção permitirá salvar

Respostas

Nome Tipo Description
200 OK

EmbedToken

OK

Exemplos

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

Definições

Nome Description
DatasourceConnectionDetails

Os detalhes da conexão da fonte de dados do Power BI. Veja exemplos em Obter Fontes de Dados ou Obter Fontes de Dados em Grupo.

DatasourceIdentity

Identidade efetiva para conectar fontes de dados do DirectQuery com o SSO (logon único) habilitado.

DatasourceSelector

Um objeto que identifica exclusivamente uma única fonte de dados por seus detalhes de conexão.

EffectiveIdentity

Define a identidade do usuário e as funções. Para obter mais informações, consulte Segurança em nível de linha com Power BI Embedded.

EmbedToken

Um token de inserção do Power BI

GenerateTokenRequestV2

Solicitação de geração de token do Power BI V2

GenerateTokenRequestV2Dataset

Um objeto de conjunto de dados em GenerateTokenRequestV2

GenerateTokenRequestV2Report

Um objeto de relatório em GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Um objeto de workspace em GenerateTokenRequestV2

IdentityBlob

Um blob para especificar uma identidade. Compatível apenas com conjuntos de dados com uma conexão DirectQuery com SQL do Azure

XmlaPermissions

Permissões XMLA

DatasourceConnectionDetails

Os detalhes da conexão da fonte de dados do Power BI. Veja exemplos em Obter Fontes de Dados ou Obter Fontes de Dados em Grupo.

Nome Tipo Description
account

string

A conta de conexão

classInfo

string

As informações da classe de conexão

database

string

O banco de dados de conexão

domain

string

O domínio de conexão

emailAddress

string

O endereço de email de conexão

kind

string

O tipo de conexão

loginServer

string

O servidor de logon de conexão

path

string

O caminho da conexão

server

string

O servidor de conexão

url

string

A URL de conexão

DatasourceIdentity

Identidade efetiva para conectar fontes de dados do DirectQuery com o SSO (logon único) habilitado.

Nome Tipo Description
datasources

DatasourceSelector[]

Uma matriz de fontes de dados às quais essa identidade se aplica.

identityBlob

string

Um blob para especificar a identidade.

DatasourceSelector

Um objeto que identifica exclusivamente uma única fonte de dados por seus detalhes de conexão.

Nome Tipo Description
connectionDetails

DatasourceConnectionDetails

Os detalhes da conexão da fonte de dados. Você pode obter os detalhes da conexão usando Obter Fontes de Dados para relatórios paginados e Obter Fontes de Dados para APIs de relatórios do powerbi .

datasourceType

string

O tipo da fonte de dados.

Nome da API para a fonte de dados
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Exchange Extensão
Facebook Arquivo Pasta
GoogleAnalytics Hdfs HDInsight
Informix MQ MySql
OData ODBCODBC OleDb
Oracle PostgreSql PowerQueryMashup
PubNub Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib SharePointList
Sql Sybase Teradata
UIFlow Web

EffectiveIdentity

Define a identidade do usuário e as funções. Para obter mais informações, consulte Segurança em nível de linha com Power BI Embedded.

Nome Tipo Description
auditableContext

string

O contexto auditável EffectiveIdentity. Se esse parâmetro for fornecido e não estiver vazio, ele habilitará a auditoria da EffectiveIdentity e seu valor será definido como o nome de usuário no registro de auditoria. Caso contrário, o contexto EffectiveIdentity será omitido do registro de auditoria GenerateToken.

customData

string

Dados personalizados usados para aplicar regras de segurança em nível de linha. Compatível apenas com a conexão dinâmica com modelos de Azure Analysis Services e modelos de nuvem.

datasets

string[]

Uma matriz de conjuntos de dados para os quais essa identidade se aplica

identityBlob

IdentityBlob

Um blob que especifica uma identidade. Compatível apenas com conjuntos de dados com uma conexão DirectQuery com SQL do Azure.

reports

string[]

Uma matriz de relatórios para os quais essa identidade se aplica. Há suporte apenas para relatórios paginados.

roles

string[]

Uma matriz de funções RLS (segurança em nível de linha) dentro de um token que aplica regras RLS. Uma identidade pode conter até 50 funções. Uma função pode conter qualquer caractere, exceto ,, e seu comprimento não deve exceder 50 caracteres.

username

string

O nome de usuário efetivo em um token que aplica regras de segurança em nível de linha. Para um modelo local, o nome de usuário pode conter alfanuméricos ou qualquer um dos seguintes caracteres ., -, _, , !, #, ~^, , \\, @. Para modelos de nuvem, o nome de usuário pode conter qualquer caractere ASCII. Para qualquer um dos modelos, o comprimento do nome de usuário não deve exceder 256 caracteres e o nome de usuário não deve conter espaços.

EmbedToken

Um token de inserção do Power BI

Nome Tipo Description
expiration

string

A data e hora (UTC) da expiração do token

token

string

O token de inserção

tokenId

string

A ID do token exclusivo. Por meio de logs de auditoria, a ID do token pode ser usada para correlacionar operações que usam o token com a operação de geração.

GenerateTokenRequestV2

Solicitação de geração de token do Power BI V2

Nome Tipo Description
datasets

GenerateTokenRequestV2Dataset[]

Uma lista de conjuntos de dados

datasourceIdentities

DatasourceIdentity[]

Lista de identidades a serem usadas ao se conectar a fontes de dados com o SSO (Sign-On único) habilitado.

identities

EffectiveIdentity[]

A lista de identidades a serem usadas para regras de segurança em nível de linha

lifetimeInMinutes

integer

O tempo de vida máximo do token em minutos, começando a partir do momento em que ele foi gerado. Pode ser usado para reduzir o tempo de expiração do token, mas não para estendê-lo. O valor deve ser um inteiro positivo. Zero (0) é equivalente a nulle definirá o tempo de expiração padrão.

reports

GenerateTokenRequestV2Report[]

Uma lista de relatórios

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

A lista de workspaces em que o token de inserção permitirá salvar

GenerateTokenRequestV2Dataset

Um objeto de conjunto de dados em GenerateTokenRequestV2

Nome Tipo Description
id

string

A ID do conjunto de dados

xmlaPermissions

XmlaPermissions

Permissões XMLA

GenerateTokenRequestV2Report

Um objeto de relatório em GenerateTokenRequestV2

Nome Tipo Description
allowEdit

boolean

Se o token de inserção gerado dá suporte à edição de relatório

id

string

A ID do relatório

GenerateTokenRequestV2TargetWorkspace

Um objeto de workspace em GenerateTokenRequestV2

Nome Tipo Description
id

string

A ID do workspace

IdentityBlob

Um blob para especificar uma identidade. Compatível apenas com conjuntos de dados com uma conexão DirectQuery com SQL do Azure

Nome Tipo Description
value

string

Um token de acesso OAuth 2.0 para SQL do Azure

XmlaPermissions

Permissões XMLA

Nome Tipo Description
Off

string

Indica que o token de inserção gerado não concede permissões de acesso ao ponto de extremidade XMLA do conjunto de dados.

ReadOnly

string

Indica que o token de inserção gerado concede permissões de acesso de leitura ao ponto de extremidade XMLA do conjunto de dados.