共用方式為


Embed Token - Reports GenerateTokenInGroup

產生內嵌權杖,以檢視或編輯指定工作區中的指定報表。

提示

若要建立內嵌權杖,建議您使用最新的 API 產生權杖。 產生權杖支援其他函式,例如為多個專案建立權杖。

重要

此 API 呼叫只與 客戶案例的內嵌 相關。 若要深入瞭解如何使用此 API,請參閱 產生內嵌權杖時的考慮

權限

必要範圍

除非需求不適用,否則所有專案皆適用:

  • Report.ReadWrite.All 或 Report.Read.All
  • Dataset.ReadWrite.All 或 Dataset.Read.All
  • Content.Create,如果在 allowSaveAsGenerateTokenRequest中指定旗標,則為必要專案

限制

對於Azure Analysis Services或 Analysis Services 內部部署即時連線報告,在重新系結報表之後,產生內嵌權杖與資料列層級安全性可能無法運作數分鐘。

POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken

URI 參數

名稱 位於 必要 類型 Description
groupId
path True

string

uuid

工作區識別碼

reportId
path True

string

uuid

報表識別碼

要求本文

名稱 類型 Description
accessLevel

TokenAccessLevel

內嵌權杖產生所需的存取層級

allowSaveAs

boolean

是否可以將內嵌報表儲存為新的報表。 預設值是 false。 僅適用于產生報表內嵌的內嵌權杖時。

datasetId

string

用於建立報表的資料集識別碼。 只有在產生用於建立報表的內嵌權杖時,才適用。

identities

EffectiveIdentity[]

要用於資料列層級安全性規則的身分識別清單

lifetimeInMinutes

integer

權杖的存留期上限,從產生權杖的時間開始。 可用來縮短權杖的到期時間,但無法加以擴充。 其值必須為正整數。 零 (0) 相當於 null,而且將會忽略,導致預設到期時間。

回應

名稱 類型 Description
200 OK

EmbedToken

確定

範例

Generate a paginated report embed token using an effective identity example
Generate a report embed token for editing example. The embed token uses an effective identity.
Generate a report embed token for viewing a report and saving to a new report example
Generate a report embed token using an effective identity example
Generate a report embed token using an effective identity with an identity blob example
Generate a report embed token using an effective identity with custom data for Azure Analysis Services example
Generate a report embed token using an effective identity with multiple roles example

Generate a paginated report embed token using an effective identity example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "John Smith",
      "reports": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token for editing example. The embed token uses an effective identity.

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "Edit",
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token for viewing a report and saving to a new report example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "allowSaveAs": "true"
}

Sample Response

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

Generate a report embed token using an effective identity example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token using an effective identity with an identity blob example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ],
      "identityBlob": {
        "value": "eyJ0eX....AAA="
      }
    }
  ]
}

Sample Response

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

Generate a report embed token using an effective identity with custom data for Azure Analysis Services example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "john@contoso.com",
      "customData": "john_contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

Generate a report embed token using an effective identity with multiple roles example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales",
        "marketing"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

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

定義

名稱 Description
EffectiveIdentity

定義使用者身分識別和角色。 如需詳細資訊,請參閱資料列層級安全性與Power BI Embedded

EmbedToken

Power BI 內嵌權杖

GenerateTokenRequest

Power BI 產生權杖要求

IdentityBlob

用於指定身分識別的 Blob。 僅支援具有 DirectQuery 連線至 Azure SQL 的資料集

TokenAccessLevel

內嵌權杖產生所需的存取層級

EffectiveIdentity

定義使用者身分識別和角色。 如需詳細資訊,請參閱資料列層級安全性與Power BI Embedded

名稱 類型 Description
auditableContext

string

EffectiveIdentity 可稽核的內容。 如果提供此參數且不是空的,則會啟用 EffectiveIdentity 的稽核,而且其值將會設定為稽核記錄中的使用者名稱。 否則,EffectiveIdentity 內容將會從 GenerateToken 稽核記錄中省略。

customData

string

用來套用資料列層級安全性規則的自訂資料。 僅支援與Azure Analysis Services模型和雲端模型的即時連線。

datasets

string[]

套用此身分識別的資料集陣列

identityBlob

IdentityBlob

指定 身分識別的 Blob。 僅支援具有 DirectQuery 連線至 Azure SQL的資料集。

reports

string[]

套用此身分識別的報表陣列。 僅支援編頁報表。

roles

string[]

套用 RLS 規則的權杖內,資料列層級安全性 (RLS) 角色的陣列。 身分識別最多可以包含 50 個角色。 角色可以包含除了 以外的 , 任何字元,而且其長度不能超過 50 個字元。

username

string

套用資料列層級安全性規則之權杖內的有效使用者名稱。 針對內部部署模型,使用者名稱可以包含英數位元或下列任何字元 .-#!_^~ 、 。 \\@ 針對雲端模型,使用者名稱可以包含任何 ASCII 字元。 針對任一模型,使用者名稱長度不能超過 256 個字元,而且使用者名稱不應包含空格。

EmbedToken

Power BI 內嵌權杖

名稱 類型 Description
expiration

string

權杖到期的日期和時間 (UTC)

token

string

內嵌權杖

tokenId

string

唯一的權杖識別碼。 透過稽核記錄,權杖識別碼可用來將使用權杖與產生作業的作業相互關聯。

GenerateTokenRequest

Power BI 產生權杖要求

名稱 類型 Description
accessLevel

TokenAccessLevel

內嵌權杖產生所需的存取層級

allowSaveAs

boolean

是否可以將內嵌報表儲存為新的報表。 預設值是 false。 僅適用于產生報表內嵌的內嵌權杖時。

datasetId

string

用於建立報表的資料集識別碼。 只有在產生用於建立報表的內嵌權杖時,才適用。

identities

EffectiveIdentity[]

要用於資料列層級安全性規則的身分識別清單

lifetimeInMinutes

integer

權杖的存留期上限,從產生權杖的時間開始。 可用來縮短權杖的到期時間,但無法加以擴充。 其值必須為正整數。 零 (0) 相當於 null,而且將會忽略,導致預設到期時間。

IdentityBlob

用於指定身分識別的 Blob。 僅支援具有 DirectQuery 連線至 Azure SQL 的資料集

名稱 類型 Description
value

string

適用于 Azure SQL 的 OAuth 2.0 存取權杖

TokenAccessLevel

內嵌權杖產生所需的存取層級

名稱 類型 Description
Create

string

表示產生的內嵌權杖會授與建立許可權。 只有在產生用於建立報表的內嵌權杖時,才適用。

Edit

string

指出產生的內嵌權杖授與檢視和編輯許可權。 僅適用于產生報表內嵌的內嵌權杖時。

View

string

指出產生的內嵌權杖授與僅限檢視許可權