Embed Token - Generate Token
Genera un token de inserción para varios informes, conjuntos de datos y áreas de trabajo de destino.
- Los informes y los conjuntos de datos no tienen que estar relacionados.
- Puede enlazar un informe a un conjunto de datos durante la inserción.
- Solo puede crear un informe en áreas de trabajo especificadas por el
targetWorkspaces
parámetro .
Importante
Esta llamada API solo es relevante para el escenario de inserción para los clientes . Para más información sobre el uso de esta API, consulte Consideraciones al generar un token de inserción.
Permisos
- Al usar una entidad de servicio para la autenticación, consulte Inserción de contenido de Power BI con la entidad de servicio y consideraciones y limitaciones.
- En el caso de los informes de Power BI con un objeto visual paginado, incluya el identificador de informe paginado en la llamada API. Para obtener más información, vea ejemplo.
- Un perfil de entidad de servicio puede llamar a esta llamada API. Para obtener más información, consulte: Perfiles de entidad de servicio en Power BI Embedded.
Ámbito requerido
Todo lo siguiente, a menos que no se aplique un requisito:
- Content.Create, necesario si se especifica un área de trabajo de destino en GenerateTokenRequestV2.
- Report.ReadWrite.All o Report.Read.All, necesario si se especifica un informe en GenerateTokenRequestV2.
- Report.ReadWrite.All, necesario si se especifica la
allowEdit
marca para al menos un informe en GenerateTokenRequestV2. - Dataset.ReadWrite.All o Dataset.Read.All
Limitaciones
- Solo puede crear un informe en áreas de trabajo especificadas por el
targetWorkspaces
parámetro . - Todos los informes y conjuntos de datos deben residir en un área de trabajo V2 .
- Todas las áreas de trabajo de destino deben ser áreas de trabajo V2 .
- Máximo de 50 informes.
- Máximo de 50 conjuntos de datos.
- Máximo 50 áreas de trabajo de destino.
- Para Azure Analysis Services o los informes de conexión dinámica locales de Analysis Services, es posible que la generación de un token de inserción con seguridad de nivel de fila (RLS) no funcione durante varios minutos después de una reenlazamiento.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Cuerpo de la solicitud
Nombre | Tipo | Description |
---|---|---|
datasets |
Una lista de conjuntos de datos |
|
datasourceIdentities |
Lista de identidades que se van a usar al conectarse a orígenes de datos con single Sign-On (SSO) habilitado. |
|
identities |
Lista de identidades que se van a usar para las reglas de seguridad de nivel de fila |
|
lifetimeInMinutes |
integer |
Duración máxima del token en minutos, a partir del momento en que se generó. Se puede usar para acortar la hora de expiración del token, pero no para ampliarlo. El valor debe ser un entero positivo. Cero ( |
reports |
Una lista de informes |
|
targetWorkspaces |
La lista de áreas de trabajo en las que el token de inserción permitirá guardar en |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
Aceptar |
Ejemplos
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"
}
Definiciones
Nombre | Description |
---|---|
Datasource |
Detalles de conexión del origen de datos de Power BI. Vea ejemplos en Obtener orígenes de datos o Obtener orígenes de datos en grupo. |
Datasource |
Identidad eficaz para conectar orígenes de datos de DirectQuery con el inicio de sesión único (SSO) habilitado. |
Datasource |
Objeto que identifica de forma única un único origen de datos por sus detalles de conexión. |
Effective |
Define la identidad y los roles de usuario. Para obtener más información, consulte Seguridad de nivel de fila con Power BI Embedded. |
Embed |
Un token de inserción de Power BI |
Generate |
Generación de solicitud de token V2 de Power BI |
Generate |
Objeto de conjunto de datos en GenerateTokenRequestV2 |
Generate |
Objeto de informe en GenerateTokenRequestV2 |
Generate |
Objeto de área de trabajo en GenerateTokenRequestV2 |
Identity |
Un blob para especificar una identidad. Solo se admite para conjuntos de datos con una conexión directQuery a Azure SQL |
Xmla |
Permisos XMLA |
DatasourceConnectionDetails
Detalles de conexión del origen de datos de Power BI. Vea ejemplos en Obtener orígenes de datos o Obtener orígenes de datos en grupo.
Nombre | Tipo | Description |
---|---|---|
account |
string |
La cuenta de conexión |
classInfo |
string |
Información de la clase de conexión |
database |
string |
La base de datos de conexión |
domain |
string |
Dominio de conexión |
emailAddress |
string |
La dirección de correo electrónico de conexión |
kind |
string |
El tipo de conexión |
loginServer |
string |
El servidor de inicio de sesión de conexión |
path |
string |
Ruta de acceso de conexión |
server |
string |
El servidor de conexión |
url |
string |
La dirección URL de conexión |
DatasourceIdentity
Identidad eficaz para conectar orígenes de datos de DirectQuery con el inicio de sesión único (SSO) habilitado.
Nombre | Tipo | Description |
---|---|---|
datasources |
Matriz de orígenes de datos a los que se aplica esta identidad. |
|
identityBlob |
string |
Un blob para especificar la identidad. |
DatasourceSelector
Objeto que identifica de forma única un único origen de datos por sus detalles de conexión.
Nombre | Tipo | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
connectionDetails |
Detalles de la conexión del origen de datos. Puede obtener los detalles de conexión mediante Obtener orígenes de datos para informes paginados y Obtener orígenes de datos para las API de informes de Powerbi . |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
Tipo del origen de datos.
|
EffectiveIdentity
Define la identidad y los roles de usuario. Para obtener más información, consulte Seguridad de nivel de fila con Power BI Embedded.
Nombre | Tipo | Description |
---|---|---|
auditableContext |
string |
Contexto auditable EffectiveIdentity. Si se proporciona este parámetro y no está vacío, habilitará la auditoría de EffectiveIdentity y su valor se establecerá en el nombre de usuario en el registro de auditoría. De lo contrario, se omitirá el contexto EffectiveIdentity del registro de auditoría GenerateToken. |
customData |
string |
Datos personalizados que se usan para aplicar reglas de seguridad de nivel de fila. Solo se admite para la conexión dinámica a modelos de Azure Analysis Services y modelos en la nube. |
datasets |
string[] |
Matriz de conjuntos de datos para los que se aplica esta identidad |
identityBlob |
Un blob que especifica una identidad. Solo se admite para conjuntos de datos con una conexión directQuery a Azure SQL. |
|
reports |
string[] |
Matriz de informes para los que se aplica esta identidad. Solo se admite para informes paginados. |
roles |
string[] |
Matriz de roles de seguridad de nivel de fila (RLS) dentro de un token que aplica reglas de RLS. Una identidad puede contener hasta 50 roles. Un rol puede contener cualquier carácter excepto |
username |
string |
Nombre de usuario efectivo dentro de un token que aplica reglas de seguridad de nivel de fila. En el caso de un modelo local, el nombre de usuario puede contener caracteres alfanuméricos o cualquiera de los siguientes caracteres |
EmbedToken
Un token de inserción de Power BI
Nombre | Tipo | Description |
---|---|---|
expiration |
string |
Fecha y hora (UTC) de expiración del token |
token |
string |
Token de inserción |
tokenId |
string |
Identificador de token único. A través de los registros de auditoría, el identificador de token se puede usar para correlacionar las operaciones que usan el token con la operación de generación. |
GenerateTokenRequestV2
Generación de solicitud de token V2 de Power BI
Nombre | Tipo | Description |
---|---|---|
datasets |
Una lista de conjuntos de datos |
|
datasourceIdentities |
Lista de identidades que se usarán al conectarse a orígenes de datos con single Sign-On (SSO) habilitado. |
|
identities |
Lista de identidades que se van a usar para las reglas de seguridad de nivel de fila |
|
lifetimeInMinutes |
integer |
Duración máxima del token en minutos, a partir del momento en que se generó. Se puede usar para acortar la hora de expiración del token, pero no para ampliarlo. El valor debe ser un entero positivo. Cero ( |
reports |
Una lista de informes |
|
targetWorkspaces |
La lista de áreas de trabajo en las que el token de inserción permitirá guardar en |
GenerateTokenRequestV2Dataset
Objeto de conjunto de datos en GenerateTokenRequestV2
Nombre | Tipo | Description |
---|---|---|
id |
string |
Identificador del conjunto de datos |
xmlaPermissions |
Permisos XMLA |
GenerateTokenRequestV2Report
Objeto de informe en GenerateTokenRequestV2
Nombre | Tipo | Description |
---|---|---|
allowEdit |
boolean |
Si el token de inserción generado admite la edición de informes |
id |
string |
Identificador del informe |
GenerateTokenRequestV2TargetWorkspace
Objeto de área de trabajo en GenerateTokenRequestV2
Nombre | Tipo | Description |
---|---|---|
id |
string |
Identificador del área de trabajo |
IdentityBlob
Un blob para especificar una identidad. Solo se admite para conjuntos de datos con una conexión directQuery a Azure SQL
Nombre | Tipo | Description |
---|---|---|
value |
string |
Un token de acceso de OAuth 2.0 para Azure SQL |
XmlaPermissions
Permisos XMLA
Nombre | Tipo | Description |
---|---|---|
Off |
string |
Indica que el token de inserción generado no concede permisos de acceso al punto de conexión XMLA del conjunto de datos. |
ReadOnly |
string |
Indica que el token de inserción generado concede permisos de acceso de lectura al punto de conexión XMLA del conjunto de datos. |