瞭解不同的內嵌解決方案

將 Power BI 專案內嵌 (,例如報表、儀錶板和 Q&A) ,可讓您整合令人讚歎、完全互動式的分析,而不需要從頭開始建置您自己的數據視覺效果和控件。 您內嵌的Power BI分析可以呈現應用程式透過自己的Power BI 帳戶 擁有 的數據,或使用者透過其Power BI 帳戶 擁有 的數據。

應用程式案例

在應用程式中內嵌Power BI報表有兩個不同的案例。

  • 為組織 內嵌 (也稱為 使用者擁有數據) :應用程式可讓您整合組織使用者使用自己的 Power BI 帳戶登入時可存取的數據、報表、儀錶板和磚。 在此類型的應用程式中,用戶擁有您內嵌的數據。
  • 為客戶 內嵌 (也稱為 應用程式擁有數據) :應用程式會顯示您上傳至您自己的 Power BI 帳戶的數據、報表、儀錶板或磚。 在此類型的應用程式中,您使用自己的帳戶,因此您的應用程式會為客戶擁有數據。 您的客戶不需要自己的Power BI 帳戶。

您使用的應用程式案例會決定如何擷取 存取令牌 ,讓您存取數據並在應用程式中內嵌內容。

您內嵌的內容類型是由 參數的值embedUrl 所指定。 若要擷取特定內容類型的內嵌 URL,請呼叫對應的 Power BI REST API。 例如,呼叫 取得報表 以擷取內嵌報表的內嵌 URL。

下列各節說明如何擷取存取令牌,並針對每個應用程式案例內嵌報表。

為您的組織內嵌

在此案例中,應用程式的使用者會使用其Power BI帳戶登入。 這可讓您存取其數據並內嵌其報表、儀錶板和磚的存取令牌。

在 中 embedConfiguration,將設定 tokenTypeTokenType.Aad

// Get models so you can use the TokenType enum.
let models = window['powerbi-client'].models;

let embedConfiguration = {
    type: 'report',
    id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
    embedUrl: 'https://app.powerbi.com/reportEmbed',
    tokenType: models.TokenType.Aad,
    accessToken: 'e4...rf'
};

let reportContainer = $('#reportContainer')[0];
let report = powerbi.embed(reportContainer, embedConfiguration);

為您的客戶內嵌

在此案例中,您會建立可存取所有 Power BI 專案的專用身分識別。 然後,您可以呼叫 Power BI REST API 內嵌令牌 ,為想要 內嵌的報表、儀錶板或磚產生內 嵌令牌。 擁有 內嵌令牌之後,請使用下列程式代碼來內嵌報表:

在 中 embedConfiguration,將設定 tokenTypeTokenType.Embed

// Get models so you can use the TokenType enum.
let models = window['powerbi-client'].models;

let embedConfiguration = {
    type: 'report',
    id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
    embedUrl: 'https://app.powerbi.com/reportEmbed',
    tokenType: models.TokenType.Embed,
    accessToken: 'h4...rf'
};

let reportContainer = $('#reportContainer')[0];
let report = powerbi.embed(reportContainer, embedConfiguration);

下一步