Поделиться через


Embed Token - Generate Token

Создает маркер внедрения для нескольких отчетов, наборов данных и целевых рабочих областей.

  • Отчеты и наборы данных не должны быть связаны.
  • Отчет можно привязать к набору данных во время внедрения.
  • Отчет можно создать только в рабочих областях, указанных параметром targetWorkspaces.

Это важно

Этот вызов API относится только к внедрению для клиентов сценария. Дополнительные сведения об использовании этого API см. в статье Рекомендации по созданию маркера внедрения.

Разрешения

Требуемая область

Все указанные ниже действия, если требование не применяется:

  • Content.Create, обязательный, если целевая рабочая область указана в GenerateTokenRequestV2.
  • Report.ReadWrite.All или Report.Read.All, обязательный, если отчет указан в GenerateTokenRequestV2.
  • Report.ReadWrite.All, обязательный, если флаг allowEdit указан по крайней мере для одного отчета в GenerateTokenRequestV2.
  • Dataset.ReadWrite.All или Dataset.Read.All

Ограничения

  • Отчет можно создать только в рабочих областях, указанных параметром targetWorkspaces.
  • Все отчеты и наборы данных должны находиться в рабочей области версии 2.
  • Все целевые рабочие области должны быть рабочих областей версии 2.
  • Не более 50 отчетов.
  • Не более 50 наборов данных.
  • Не более 50 целевых рабочих областей.
  • Для локальных отчетов о подключении azure Analysis Services или Analysis Services создание маркера внедрения с безопасностью на уровне строк (RLS) может не работать через несколько минут после повторной привязки.

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

Текст запроса

Имя Тип Описание
datasets

GenerateTokenRequestV2Dataset[]

Список наборов данных

datasourceIdentities

DatasourceIdentity[]

Список удостоверений, используемых при подключении к источникам данных с включенным одним Sign-On (единый вход).

identities

EffectiveIdentity[]

Список удостоверений, используемых для правил безопасности на уровне строк

lifetimeInMinutes

integer

Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его расширения. Значение должно быть положительным целым числом. Ноль (0) эквивалентен nullи задается время окончания срока действия по умолчанию.

reports

GenerateTokenRequestV2Report[]

Список отчетов

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Список рабочих областей, на которые будет разрешено сохранение маркера внедрения

Ответы

Имя Тип Описание
200 OK

EmbedToken

ХОРОШО

Примеры

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.

Образец запроса

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

Пример ответа

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

Образец запроса

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

Пример ответа

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

Образец запроса

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

Пример ответа

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

Образец запроса

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

Пример ответа

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

Образец запроса

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

Пример ответа

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

Образец запроса

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

Пример ответа

{
  "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.

Образец запроса

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

Пример ответа

{
  "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.

Образец запроса

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

Пример ответа

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

Образец запроса

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
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
  "expiration": "2028-07-29T17:58:19Z"
}

Определения

Имя Описание
DatasourceConnectionDetails

Сведения о подключении к источнику данных Power BI. См. примеры получения источников данных или получения источников данных в группе.

DatasourceIdentity

Эффективное удостоверение для подключения источников данных DirectQuery с поддержкой единого входа.

DatasourceSelector

Объект, который однозначно идентифицирует один источник данных по его сведениям о подключении.

EffectiveIdentity

Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded.

EmbedToken

Токен внедрения Power BI

GenerateTokenRequestV2

Power BI Generate Token Request версии 2

GenerateTokenRequestV2Dataset

Объект набора данных в GenerateTokenRequestV2

GenerateTokenRequestV2Report

Объект отчета в GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Объект рабочей области в GenerateTokenRequestV2

IdentityBlob

Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure

XmlaPermissions

Разрешения XMLA

DatasourceConnectionDetails

Сведения о подключении к источнику данных Power BI. См. примеры получения источников данных или получения источников данных в группе.

Имя Тип Описание
account

string

Учетная запись подключения

classInfo

string

Сведения о классе подключения

database

string

База данных подключения

domain

string

Домен подключения

emailAddress

string

Адрес электронной почты подключения

kind

string

Тип подключения

loginServer

string

Сервер входа для подключения

path

string

Путь подключения

server

string

Сервер подключения

url

string

URL-адрес подключения

DatasourceIdentity

Эффективное удостоверение для подключения источников данных DirectQuery с поддержкой единого входа.

Имя Тип Описание
datasources

DatasourceSelector[]

Массив источников данных, к которым применяется это удостоверение.

identityBlob

string

Большой двоичный объект для указания удостоверения.

DatasourceSelector

Объект, который однозначно идентифицирует один источник данных по его сведениям о подключении.

Имя Тип Описание
connectionDetails

DatasourceConnectionDetails

Сведения о подключении к источнику данных. Сведения о подключении можно получить с помощью получения источников данных для отчетов с разбивкой на страницы и получения источников данных для отчетов Powerbi API.

datasourceType

string

Тип источника данных.

Имя API для источника данных
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices Большие двоичные объекты Azure AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Эксель Обмен Расширение
Facebook Файл Папка
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 Интернет

EffectiveIdentity

Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded.

Имя Тип Описание
auditableContext

string

Контекст аудита EffectiveIdentity. Если этот параметр указан и не пуст, то он позволит выполнить аудит действующей идентификаторности, а его значение будет присвоено имени пользователя в записи аудита. В противном случае контекст EffectiveIdentity будет опущен из записи аудита GenerateToken.

customData

string

пользовательские данные, которые используются для применения правил безопасности на уровне строк. Поддерживается только для динамического подключения к моделям Azure Analysis Services и облачным моделям.

datasets

string[]

Массив наборов данных, для которых применяется это удостоверение

identityBlob

IdentityBlob

Большой двоичный объект, указывающий удостоверение . Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure.

reports

string[]

Массив отчетов, для которых применяется это удостоверение. Поддерживается только для отчетов с разбивкой на страницы.

roles

string[]

Массив ролей безопасности на уровне строк (RLS) в маркере, который применяет правила RLS. Удостоверение может содержать до 50 ролей. Роль может содержать любой символ, кроме ,, и ее длина не должна превышать 50 символов.

username

string

Эффективное имя пользователя в маркере, которое применяет правила безопасности на уровне строк. Для локальной модели имя пользователя может содержать буквенно-цифровые или любой из следующих символов ., -, _, !, #, ^, ~, \\, @. Для облачных моделей имя пользователя может содержать любой символ ASCII. Для любой модели длина имени пользователя не должна превышать 256 символов, а имя пользователя не должно содержать пробелы.

EmbedToken

Токен внедрения Power BI

Имя Тип Описание
expiration

string (date-time)

Дата и время (UTC) истечения срока действия маркера

token

string

Токен внедрения

tokenId

string (uuid)

Уникальный идентификатор маркера. С помощью журналов аудита идентификатор маркера можно использовать для сопоставления операций, использующих маркер с операцией создания.

GenerateTokenRequestV2

Power BI Generate Token Request версии 2

Имя Тип Описание
datasets

GenerateTokenRequestV2Dataset[]

Список наборов данных

datasourceIdentities

DatasourceIdentity[]

Список удостоверений, используемых при подключении к источникам данных с включенным одним Sign-On (единый вход).

identities

EffectiveIdentity[]

Список удостоверений, используемых для правил безопасности на уровне строк

lifetimeInMinutes

integer

Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его расширения. Значение должно быть положительным целым числом. Ноль (0) эквивалентен nullи задается время окончания срока действия по умолчанию.

reports

GenerateTokenRequestV2Report[]

Список отчетов

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Список рабочих областей, на которые будет разрешено сохранение маркера внедрения

GenerateTokenRequestV2Dataset

Объект набора данных в GenerateTokenRequestV2

Имя Тип Описание
id

string

Идентификатор набора данных

xmlaPermissions

XmlaPermissions

Разрешения XMLA

GenerateTokenRequestV2Report

Объект отчета в GenerateTokenRequestV2

Имя Тип Описание
allowEdit

boolean

Поддерживает ли созданный маркер внедрения редактирование отчета

id

string (uuid)

Идентификатор отчета

GenerateTokenRequestV2TargetWorkspace

Объект рабочей области в GenerateTokenRequestV2

Имя Тип Описание
id

string (uuid)

Идентификатор рабочей области

IdentityBlob

Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure

Имя Тип Описание
value

string

Маркер доступа OAuth 2.0 для SQL Azure

XmlaPermissions

Разрешения XMLA

Значение Описание
Off

Указывает, что созданный маркер внедрения не предоставляет разрешения на доступ к конечной точке XMLA набора данных.

ReadOnly

Указывает, что созданный маркер внедрения предоставляет разрешения на чтение для конечной точки XMLA набора данных.