在 Salesforce 中嵌入 Power BI 内容
- 版本 :2023.1(当前版本)
在 Salesforce 中嵌入 Power BI 内容
Salesforce 是一种世界知名的客户关系管理 (CRM) 解决方案。 利用 Power BI 嵌入式分析,可以将 Power BI 内容(例如报表和仪表板)嵌入到 Salesforce 中。
本文链接了两个示例,这些示例演示如何在 Salesforce 环境中使用 Power BI 嵌入式分析进行开发。 这两个开发人员示例演示了在 Salesforce 中嵌入 Power BI 内容的两种不同解决方案:“为客户嵌入内容”解决方案和“为组织嵌入内容”解决方案。
先决条件
必须熟悉 Power BI 和 Salesforce。 具有使用 Power BI 嵌入式分析进行开发的经验并且熟悉 Salesforce 环境(最好是了解 Salesforce 开发人员体验 (SFDX))会很有帮助。
“为客户嵌入内容”解决方案
在“为客户嵌入内容”解决方案中,使用你自己的 Power BI 帐户创建嵌入式应用程序。 “为客户嵌入内容”解决方案也称为“应用拥有数据”解决方案。 你的客户无需使用 Power BI 凭据来查看嵌入内容并与之交互。
Apex 类
Salesforce“为客户嵌入内容”解决方案使用服务主体,基于名为 PowerBiEmbedManager
的 Apex 类。
下面是 PowerBiEmbedManager
Apex 类的一些优点:
PowerBiEmbedManager
Apex 类经过编程,可与 Azure AD 和 Power BI REST API 进行交互。PowerBiEmbedManager
Apex 类在与 Azure AD 交互以获取仅限应用的访问令牌时,实现客户端凭据流。 仅限应用的访问令牌非常重要,因为它们允许你以服务主体的身份调用 Power BI REST API,而不是以用户的身份进行调用。
Lightning Aura
Salesforce“为客户嵌入内容”解决方案包含一个名为 powerBiReportAura
的 Lightning Aura 组件。 将 powerBiReportAura
组件的实例添加到 Lightning 应用程序页时,必须使用特定的 Power BI 工作区 ID 和报表 ID 对其进行配置 。 通过此设计可以添加 powerBiReportAura
组件的多个实例,并将每个实例配置为嵌入不同的 Power BI 报表。
“为客户嵌入内容”解决方案 Salesforce 开发人员示例
若要使用“为客户嵌入内容”Salesforce 解决方案嵌入 Power BI 内容,请按照 SalesforceAppOwnsDataEmbedding GitHub 存储库中的说明进行操作。
“为组织嵌入内容”解决方案
在“为组织嵌入内容”解决方案中,创建一个嵌入式应用程序,该应用程序要求客户使用自己的 Power BI 凭据进行登录。 “为组织嵌入内容”解决方案也称为“用户拥有数据”解决方案。 已登录的客户可以根据其 Power BI 权限查看嵌入内容并与其进行交互。
单页应用程序
Salesforce“为组织嵌入内容”Salesforce 解决方案使用简单的单页应用程序 (SPA) 实现 Power BI 报表。 该解决方案是使用三个基本文件构建的:
index.html
app.css
app.js
客户端库
在 Salesforce“为组织嵌入内容”Salesforce 解决方案中,powerbi.js
用于访问 Power BI 嵌入式分析客户端 API。
“为组织嵌入内容”Salesforce 开发人员示例
若要使用“为组织嵌入内容”解决方案嵌入 Power BI 内容,请按照 SalesforceUserOwnsDataEmbedding GitHub 存储库中的说明进行操作。