共用方式為


瞭解不同的內嵌解決方案

將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中,將 [tokenType] 設定為 [TokenType.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中,將 [tokenType] 設定為 [TokenType.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);