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 parâmetro
targetWorkspaces
.
Importante
Essa chamada à API só é relevante para o inserir para seus clientes cenário. Para saber mais sobre como usar essa API, consulte Considerações ao gerar um token de inserção.
Permissões
- Ao usar uma entidade de serviço para autenticação, consulte inserir conteúdo do Power BI com de entidade de serviço e considerações e limitações .
- Para relatórios do Power BI com um visual paginado, inclua a ID do relatório paginado na chamada à API. Para obter mais informações, veja exemplo.
- Essa chamada à API pode ser chamada por um perfil de entidade de serviço. Para obter mais informações, consulte: Perfis de entidade de serviço no Power BI Embedded.
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 sinalizador
allowEdit
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 parâmetro
targetWorkspaces
. - Todos os relatórios e conjuntos de dados devem residir em um workspace V2.
- Todos os workspaces de destino devem ser workspaces de 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, gerar um token de inserção com RLS (segurança em nível de linha) pode não funcionar por vários minutos depois que um revinculado.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Corpo da solicitação
Nome | Tipo | Description |
---|---|---|
datasets |
Uma lista de conjuntos de dados |
|
datasourceIdentities |
Lista de identidades a serem usadas ao se conectar a fontes de dados com SSO (single Sign-On) habilitado. |
|
identities |
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 ( |
reports |
Uma lista de relatórios |
|
targetWorkspaces |
A lista de workspaces que o token de inserção permitirá salvar |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK |
OKEY |
Exemplos
Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Solicitação de exemplo
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"
}
]
}
Resposta de exemplo
{
"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
Solicitação de exemplo
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"
]
}
]
}
Resposta de exemplo
{
"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
Solicitação de exemplo
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="
}
]
}
Resposta de exemplo
{
"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
Solicitação de exemplo
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="
}
]
}
Resposta de exemplo
{
"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
Solicitação de exemplo
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="
}
]
}
Resposta de exemplo
{
"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
Solicitação de exemplo
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="
}
]
}
Resposta de exemplo
{
"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.
Solicitação de exemplo
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"
}
]
}
Resposta de exemplo
{
"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.
Solicitação de exemplo
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"
]
}
]
}
Resposta de exemplo
{
"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
Solicitação de exemplo
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
}
Resposta de exemplo
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Definições
Nome | Description |
---|---|
Datasource |
Os detalhes da conexão da fonte de dados do Power BI. Veja exemplos em Obter fontes de dados ou obter fontes de dados no grupo. |
Datasource |
Identidade efetiva para conectar fontes de dados do DirectQuery com SSO (logon único) habilitado. |
Datasource |
Um objeto que identifica exclusivamente uma única fonte de dados por seus detalhes de conexão. |
Effective |
Define a identidade e as funções do usuário. Para obter mais informações, consulte segurança em nível de linha com o Power BI Embedded. |
Embed |
Um token de inserção do Power BI |
Generate |
Gerar solicitação de token do Power BI V2 |
Generate |
Um objeto de conjunto de dados em GenerateTokenRequestV2 |
Generate |
Um objeto de relatório no GenerateTokenRequestV2 |
Generate |
Um objeto de workspace em GenerateTokenRequestV2 |
Identity |
Um blob para especificar uma identidade. Com suporte apenas para conjuntos de dados com uma conexão DirectQuery com o SQL do Azure |
Xmla |
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 no 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 SSO (logon único) habilitado.
Nome | Tipo | Description |
---|---|---|
datasources |
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 |
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 relatórios do powerbi APIs. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
|
EffectiveIdentity
Define a identidade e as funções do usuário. Para obter mais informações, consulte segurança em nível de linha com o Power BI Embedded.
EmbedToken
Um token de inserção do Power BI
Nome | Tipo | Description |
---|---|---|
expiration |
string (date-time) |
A data e hora (UTC) da expiração do token |
token |
string |
O token de inserção |
tokenId |
string (uuid) |
A ID de token exclusiva. 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
Gerar solicitação de token do Power BI V2
Nome | Tipo | Description |
---|---|---|
datasets |
Uma lista de conjuntos de dados |
|
datasourceIdentities |
Lista de identidades a serem usadas ao se conectar a fontes de dados com SSO (single Sign-On) habilitado. |
|
identities |
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 ( |
reports |
Uma lista de relatórios |
|
targetWorkspaces |
A lista de workspaces 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 |
Permissões XMLA |
GenerateTokenRequestV2Report
Um objeto de relatório no GenerateTokenRequestV2
Nome | Tipo | Description |
---|---|---|
allowEdit |
boolean |
Se o token de inserção gerado dá suporte à edição de relatório |
id |
string (uuid) |
A ID do relatório |
GenerateTokenRequestV2TargetWorkspace
Um objeto de workspace em GenerateTokenRequestV2
Nome | Tipo | Description |
---|---|---|
id |
string (uuid) |
A ID do workspace |
IdentityBlob
Um blob para especificar uma identidade. Com suporte apenas para conjuntos de dados com uma conexão DirectQuery com o SQL do Azure
Nome | Tipo | Description |
---|---|---|
value |
string |
Um token de acesso OAuth 2.0 para SQL do Azure |
XmlaPermissions
Permissões XMLA
Valor | Description |
---|---|
Off |
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 |
Indica que o token de inserção gerado concede permissões de acesso de leitura ao ponto de extremidade XMLA do conjunto de dados. |