Embed Token - Reports GenerateTokenForCreateInGroup
生成嵌入令牌,以允许基于指定数据集在指定工作区中创建报表。
小提示
若要创建嵌入令牌,建议使用最新的 API,生成令牌。 生成令牌支持其他函数,例如为多个项创建令牌。
权限
- 使用服务主体进行身份验证时,请参阅 将 Power BI 内容嵌入服务主体,注意事项和限制。
- 此 API 调用可由服务主体配置文件调用。 有关详细信息,请参阅:Power BI Embedded中的服务主体配置文件。
所需范围
以下所有项:
- Content.Create
- Report.ReadWrite.All 或 Report.Read.All
- Dataset.ReadWrite.All 或 Dataset.Read.All
局限性
对于 Azure Analysis Services 或 Analysis Services 本地实时连接报告,在 重新绑定报表 API 调用后,生成具有行级安全性的嵌入令牌可能无法工作几分钟。
POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/GenerateToken
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
group
|
path | True |
string (uuid) |
工作区 ID |
请求正文
| 名称 | 类型 | 说明 |
|---|---|---|
| accessLevel |
嵌入令牌生成所需的访问级别 |
|
| allowSaveAs |
boolean |
是否可以将嵌入报表另存为新报表。 默认值是 |
| datasetId |
string |
用于创建报表的数据集 ID。 仅当生成用于创建报表的嵌入令牌时适用。 |
| identities |
用于行级别安全规则的标识列表 |
|
| lifetimeInMinutes |
integer |
令牌的最大生存期(以分钟为单位),从生成令牌的时间开始。 可用于缩短令牌的过期时间,但不能将其扩展。 该值必须是正整数。 零 (0) 等效于 null,将被忽略,从而导致默认过期时间。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
还行 |
示例
Generate an embed token for report creation based on a specified dataset example
示例请求
POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/GenerateToken
{
"accessLevel": "Create",
"datasetId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
示例响应
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2018-07-29T17:58:19Z"
}
Generate an embed token for report creation based on a specified dataset example. The embed token uses an effective identity.
示例请求
POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/GenerateToken
{
"accessLevel": "Create",
"datasetId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
}
]
}
示例响应
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2018-07-29T17:58:19Z"
}
定义
| 名称 | 说明 |
|---|---|
|
Effective |
|
|
Embed |
Power BI 嵌入令牌 |
|
Generate |
Power BI 生成令牌请求 |
|
Identity |
用于指定标识的 Blob。 仅支持使用 DirectQuery 连接到 Azure SQL 的数据集 |
|
Token |
嵌入令牌生成所需的访问级别 |
EffectiveIdentity
定义用户标识和角色。 有关详细信息,请参阅使用 Power BI Embedded 行级别安全性。
| 名称 | 类型 | 说明 |
|---|---|---|
| auditableContext |
string |
EffectiveIdentity 可审核上下文。 如果提供此参数且不为空,它将启用 EffectiveIdentity 的审核,其值将设置为审核记录中的用户名。 否则,将从 GenerateToken 审核记录中省略 EffectiveIdentity 上下文。 |
| customData |
string |
用于应用行级别安全规则的自定义数据。 仅支持实时连接到 Azure Analysis Services 模型和云模型。 |
| datasets |
string[] |
此标识适用的数据集数组 |
| identityBlob |
一个 blob,指定 标识。 仅支持使用 DirectQuery 连接到 Azure SQL 的数据集。 |
|
| reports |
string[] |
此标识适用的报表数组。 仅支持分页报表。 |
| roles |
string[] |
应用 RLS 规则的令牌中的行级安全性 (RLS) 角色数组。 标识最多可以包含 50 个角色。 角色可以包含除 |
| username |
string |
应用行级安全规则的令牌中的有效用户名。 对于本地模型,用户名可以包含字母数字或任何以下字符 |
EmbedToken
Power BI 嵌入令牌
| 名称 | 类型 | 说明 |
|---|---|---|
| expiration |
string (date-time) |
令牌过期的日期和时间(UTC) |
| token |
string |
嵌入令牌 |
| tokenId |
string (uuid) |
唯一令牌 ID。 通过审核日志,令牌 ID 可用于将使用该令牌的作与生成作相关联。 |
GenerateTokenRequest
Power BI 生成令牌请求
| 名称 | 类型 | 说明 |
|---|---|---|
| accessLevel |
嵌入令牌生成所需的访问级别 |
|
| allowSaveAs |
boolean |
是否可以将嵌入报表另存为新报表。 默认值是 |
| datasetId |
string |
用于创建报表的数据集 ID。 仅当生成用于创建报表的嵌入令牌时适用。 |
| identities |
用于行级别安全规则的标识列表 |
|
| lifetimeInMinutes |
integer |
令牌的最大生存期(以分钟为单位),从生成令牌的时间开始。 可用于缩短令牌的过期时间,但不能将其扩展。 该值必须是正整数。 零 (0) 等效于 null,将被忽略,从而导致默认过期时间。 |
IdentityBlob
用于指定标识的 Blob。 仅支持使用 DirectQuery 连接到 Azure SQL 的数据集
| 名称 | 类型 | 说明 |
|---|---|---|
| value |
string |
Azure SQL 的 OAuth 2.0 访问令牌 |
TokenAccessLevel
嵌入令牌生成所需的访问级别
| 值 | 说明 |
|---|---|
| View |
指示生成的嵌入令牌授予仅查看权限 |
| Edit |
指示生成的嵌入令牌授予查看和编辑权限。 仅当生成用于报表嵌入的嵌入令牌时适用。 |
| Create |
指示生成的嵌入令牌授予创建权限。 仅当生成用于创建报表的嵌入令牌时适用。 |