嵌入仪表板磁贴
提示
请尝试在 Power BI Embedded Analytics Playground的 “浏览 API” 部分中嵌入仪表板磁贴或试验我们的客户端 API。
本文介绍在应用程序中嵌入仪表板磁贴的步骤。 详细了解 Power BI 设计器的仪表板磁贴
如何嵌入仪表板磁贴
在应用中嵌入 Power BI 内容时,使用配置对象定义要嵌入的内容并指定内容的设置。 然后将该对象传递给 API。
嵌入仪表板磁贴时,请使用 ITileLoadConfiguration类型的配置对象:
interface ITileLoadConfiguration {
accessToken: string;
dashboardId: string;
embedUrl: string;
id: string;
tokenType?: models.TokenType;
type: string;
}
此接口包含以下属性:
accessToken
- 用于访问要嵌入的 Power BI 数据的令牌。 请参阅 了解不同的嵌入解决方案 了解有关访问令牌的详细信息。dashboardId
- 包含要嵌入的磁贴的仪表板的 ID。 可以使用 仪表板 API 来获取此 ID。 两个示例包括:embedUrl
- 要嵌入的仪表板磁贴的 URL。 此 URL 将成为包含嵌入仪表板磁贴的 HTMLiframe
元素的源。 具体而言,API 将 URL 分配给iframe
的src
属性。 可以使用 仪表板 API 来获取此 URL。 两个示例包括:id
- 要嵌入的仪表板磁贴的 ID。 可以使用 仪表板 API 来获取此 ID。 两个示例包括:tokenType
- 用于访问要嵌入的 Power BI 数据的令牌类型。- 如果要为组织嵌入内容(用户拥有数据),请使用
models.TokenType.Aad
。 - 如果要为客户嵌入内容(应用拥有数据),请使用
models.TokenType.Embed
。
有关详细信息,请参阅 了解不同的嵌入解决方案。
- 如果要为组织嵌入内容(用户拥有数据),请使用
type
- 要嵌入的内容类型。 对仪表板磁贴使用'tile'
。
例
以下示例演示如何嵌入单个仪表板磁贴:
// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
accessToken: anAccessToken,
dashboardId: aDashboardId,
embedUrl: anEmbedUrl,
id: aTileId,
tokenType: aTokenType,
type: 'tile'
};
// Get a reference to the HTML element that contains the embedded dashboard tile.
let tileContainer = $('#tileContainer')[0];
// Embed the dashboard.
let tile = powerbi.embed(tileContainer, embedConfiguration);