教程:使用“为组织嵌入内容”应用程序嵌入 Power BI 内容

通过 Power BI 嵌入式分析,可以将 Power BI 内容(例如报表、仪表板和磁贴)嵌入到应用程序中。

本教程介绍以下操作:

  • 设置嵌入式环境。
  • 配置“为组织嵌入内容”(也称为“用户拥有数据”)示例应用程序 。

用户需要登录到 Power BI 才能使用应用程序。

“为组织嵌入内容”解决方案通常由企业和大型组织使用,适用于内部用户。

重要

如果要为国家/地区云嵌入内容,本教程的前几步会有所不同。 有关详细信息,请参阅国家/地区云的嵌入内容

代码示例规范

本教程说明了如何采用下列框架之一配置“为组织嵌入内容”示例应用程序:

  • .NET framework
  • .NET Core
  • React TypeScript

注意

借助 .NET Core 和 .NET Framework 示例,最终用户可以查看他们在 Power BI 服务中可以访问的任何 Power BI 仪表板、报表或磁贴。 使用 React TypeScript 示例,可以仅嵌入一个最终用户已经可以在 Power BI 服务中访问的报表。

代码示例支持下列浏览器:

  • Microsoft Edge
  • Google Chrome
  • Mozilla Firefox

先决条件

在开始学习本教程之前,请确认你具有以下 Power BI 和代码依赖项:


方法

若要创建“为组织嵌入内容”示例应用,请执行以下步骤:

  1. 注册 Microsoft Entra 应用程序

  2. 创建 Power BI 工作区

  3. 创建并发布 Power BI 报表

  4. 获取嵌入的参数值

  5. 嵌入内容

步骤 1 - 注册 Microsoft Entra 应用程序

通过向 Microsoft Entra ID 注册应用程序,可以为应用建立标识。

若要向 Microsoft Entra ID 注册应用程序,请按照注册应用程序中的说明进行操作。

步骤 2 - 创建 Power BI 工作区

Microsoft Fabric 将报表、仪表板和磁贴保留在工作区中。 若要嵌入这些项目,需要创建这些项并将其上传到工作区中。

提示

如果你已具有工作区,则可跳过此步骤。

若要创建工作区,请执行以下操作:

  1. 登录到 Fabric。

  2. 选择“工作区”

  3. 选择“ + 新建工作区”。

  4. 为工作区命名,然后选择“保存”。

步骤 3 - 创建并发布 Power BI 报表

下一步是创建报表并将其上传到工作区。 你可使用 Power BI Desktop 创建自己的报表,然后将其发布到工作区。 也可将示例报表上传到你的工作区。

提示

如果你的工作区中已有一个报表,则可跳过此步骤。

若要下载示例报表并将其发布到工作区,请执行以下步骤:

  1. 打开 GitHub Power BI Desktop 示例文件夹。

  2. 选择“代码”,再选择“下载 zip” 。

    在 Power BI桌面示例 GitHub 中显示 ZIP 下载选项的屏幕截图

  3. 提取已下载的 ZIP 并导航到“Samples Reports”文件夹。

  4. 选择要嵌入的报表,并将其发布到工作区。

步骤 4 - 获取嵌入的参数值

若要嵌入内容,需要获取一些参数值。 参数值取决于要使用的示例应用程序的语言。 下表列出了每个示例所需的参数值。

参数 .NET Core .NET Framework React TypeScript
客户端 ID
客户端机密
工作区 ID
报表 ID

客户端 ID

提示

适用于:.NET Core .NET Framework React TypeScript

若要获取客户端 ID GUID(也称为“应用程序 ID”),请执行以下步骤:

  1. 登录 Microsoft Azure

  2. 搜索“应用程序注册”,然后选择“应用程序注册”链接。

  3. 选择用于嵌入 Power BI 内容的 Microsoft Entra 应用。

  4. 从“概述”部分,复制“应用程序(客户端) ID”GUID 。

客户端机密

提示

适用于:.NET Core .NET Framework React TypeScript

若要获取客户端机密,请执行下列步骤:

  1. 登录 Microsoft Azure

  2. 搜索“应用程序注册”,然后选择“应用程序注册”链接。

  3. 选择用于嵌入 Power BI 内容的 Microsoft Entra 应用。

  4. 在“管理”下,选择“证书和机密”

  5. 在“客户端机密”下,选择“新建客户端密钥” 。

  6. 在“添加客户端机密”弹出窗口中,提供应用程序机密的说明,选择应用程序机密过期时间,然后选择“添加”

  7. 从“客户端机密”部分,复制新创建的应用程序机密的“值”列中的字符串。 客户端机密值为你的客户端 ID

注意

请确保在第一次出现客户端密码值时复制它。 在你离开此页面后,客户端密码值将会隐藏起来,你将无法检索它。

工作区 ID

提示

适用于:.NET Core .NET Framework React TypeScript

若要获取工作区 ID GUID,请执行以下步骤:

  1. 登录 Power BI 服务。

  2. 打开要嵌入的报表。

  3. 复制 URL 中的 GUID。 GUID 是 /groups/ 和 /reports/ 之间的数字

    显示Power BI 服务 URL 中的工作区 ID GUID 的屏幕截图

报表 ID

提示

适用于:.NET Core .NET Framework ReactTypeScript

若要获取报表 ID GUID,请执行以下步骤:

  1. 登录 Power BI 服务。

  2. 打开要嵌入的报表。

  3. 复制 URL 中的 GUID。 GUID 是 /reports/ 和 /ReportSection 之间的数字 。

    显示 Power BI 服务 URL 中的报表 ID GUID 的屏幕截图

第 5 步 - 嵌入内容

使用 Power BI Embedded 示例应用程序,可以创建“为组织嵌入内容”Power BI 应用。

请按照以下步骤来修改“为组织嵌入内容”示例应用程序,以便嵌入 Power BI 报表。

  1. 打开 Power BI 开发人员示例文件夹。

  2. 选择“代码”,再选择“下载 zip” 。

    在 Power BI 开发人员示例 GitHub 中显示 ZIP 下载选项的屏幕截图

  3. 提取已下载的 ZIP 并导航到“PowerBI-Developer-Samples-master”文件夹。

  1. 根据你想要应用程序使用的语言,打开以下文件夹之一:

    • .NET Core
    • .NET Framework
    • React-TS

    注意

    “为组织嵌入内容”示例应用程序仅支持之前列出的框架。 Java、Node JS 和 Python 示例应用程序,仅支持为客户嵌入内容解决方案 。

配置 Microsoft Entra 应用

  1. 登录到 Azure 门户

  2. 选择“应用注册” 。 如果无法看到此选项,请进行搜索。

  3. 打开在步骤 1 - 注册 Microsoft Entra 应用程序中创建的 Microsoft Entra 应用程序。

  4. 在“管理”菜单中,选择“身份验证”。

  1. 在“平台配置”中,打开“Web”平台,然后在“重定向 URI”部分中添加 https://localhost:5000/signin-oidc

    注意

    如果没有“Web”平台,请选择“添加平台”,然后在“配置平台”窗口中,选择“Web”。

  2. 保存所做更改。

Azure 门户窗口的屏幕截图,其中显示了 .NET Core 应用示例的应用身份验证配置和 Web 重定向 URI。

配置示例嵌入应用

  1. 打开“Embed for your organization”文件夹。

  2. 使用以下方法之一打开“为组织嵌入内容”示例应用:

  3. 打开 appsettings 并填写以下参数值:

运行示例应用

  1. 通过选择适当的选项来运行项目:

    • 如果使用 Visual Studio,请选择“IIS Express”(播放)

    • 如果使用 Visual Studio Code,请选择“运行”>“启动调试”。

  1. 登录到嵌入示例应用程序。

    注意

    首次登录时,系统将提示你允许应用获得 Microsoft Entra 权限。

  2. 加载嵌入示例应用程序时,选择要嵌入的 Power BI 内容,然后选择“嵌入”。

    显示 Power BI 嵌入示例应用的屏幕截图。

开发应用程序

配置并运行“为客户嵌入内容”示例应用程序后,可以开始开发自己的应用程序。

更新用户权限

用户需要对报表所在的 Power BI 文件夹具有访问权限。 向用户授予访问文件夹的权限时,更改通常仅在用户登录到 Power BI 门户后才会生效。 为了使新权限立即生效,在嵌入式方案中,在启动时显式调用刷新用户权限 REST API。 此 API 调用将刷新权限,并避免新授予权限的用户授权失败。

在 Power BI 社区提问