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

Á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

GenerateTokenRequestV2Dataset[]

Una lista de conjuntos de datos

datasourceIdentities

DatasourceIdentity[]

Lista de identidades que se van a usar al conectarse a orígenes de datos con single Sign-On (SSO) habilitado.

identities

EffectiveIdentity[]

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 (0) es equivalente a nully establecerá la hora de expiración predeterminada.

reports

GenerateTokenRequestV2Report[]

Una lista de informes

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

La lista de áreas de trabajo en las que el token de inserción permitirá guardar en

Respuestas

Nombre Tipo Description
200 OK

EmbedToken

Aceptar

Ejemplos

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

Definiciones

Nombre Description
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.

DatasourceIdentity

Identidad eficaz para conectar orígenes de datos de DirectQuery con el inicio de sesión único (SSO) habilitado.

DatasourceSelector

Objeto que identifica de forma única un único origen de datos por sus detalles de conexión.

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.

EmbedToken

Un token de inserción de Power BI

GenerateTokenRequestV2

Generación de solicitud de token V2 de Power BI

GenerateTokenRequestV2Dataset

Objeto de conjunto de datos en GenerateTokenRequestV2

GenerateTokenRequestV2Report

Objeto de informe en GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Objeto de área de trabajo en GenerateTokenRequestV2

IdentityBlob

Un blob para especificar una identidad. Solo se admite para conjuntos de datos con una conexión directQuery a Azure SQL

XmlaPermissions

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

DatasourceSelector[]

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

DatasourceConnectionDetails

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.

Nombre de la API para el origen de datos
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Exchange Comprobación de actualización
Facebook Archivo Carpeta
GoogleAnalytics Hdfs HDInsight
Informix MQ MySql
OData ODBC OleDb
Oracle PostgreSql PowerQueryMashup
PubNub Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib SharePointList
Sql Sybase Teradata
UIFlow Web

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

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 ,, y su longitud no debe superar los 50 caracteres.

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., , -, ^_#~!, , . @\\ En el caso de los modelos en la nube, el nombre de usuario puede contener cualquier carácter ASCII. Para cualquiera de los modelos, la longitud del nombre de usuario no debe superar los 256 caracteres y el nombre de usuario no debe contener espacios.

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

GenerateTokenRequestV2Dataset[]

Una lista de conjuntos de datos

datasourceIdentities

DatasourceIdentity[]

Lista de identidades que se usarán al conectarse a orígenes de datos con single Sign-On (SSO) habilitado.

identities

EffectiveIdentity[]

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 (0) es equivalente a nully establecerá la hora de expiración predeterminada.

reports

GenerateTokenRequestV2Report[]

Una lista de informes

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

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

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.