首页 > 解决方案 > Power BI 与 Spring Angular 的集成

问题描述

我目前正在使用 Spring/Angular 开发一个 Web 应用程序。

我需要将 Power Bi 集成到我的应用程序中,以便能够使用 Spring 创建数据集和报告并在 Angular 中获取图表。

是否有任何示例或教程可以帮助我入门?

谢谢你。

标签: angularspringmongodbspring-bootpowerbi

解决方案


首先,您需要知道嵌入 Power BI 有两种模式 -user owns dataapp owns data. 在第一种模式下,嵌入时,用户将使用自己的 Power BI Pro 帐户进行身份验证,即您的每个用户都需要 Power BI Pro 许可证。使用后一种,您只需要一个“主帐户”,它将用于身份验证。实现上的差异并不大,所以我将描述app owns data.

您需要执行以下操作:

  • 注册应用程序 - 转到dev.powerbi.com/apps并注册本机应用程序。选择授予它的权限(如果您不确定,对于您的第一次测试,只需授予所有权限)。复制 guid - 这是应用程序 ID,也就是客户端 ID。

  • 下一步是从您的应用程序进行身份验证并获取访问令牌。为此使用Azure Active Directory 身份验证库 (ADAL) - 调用类的一些acquireToken方法AuthenticationContext

  • 使用此访问令牌调用 Power BI REST API 并获取embedUrl要嵌入的元素,例如report

  • 使用Power BI JavaScript 客户端实际嵌入此元素。您需要初始化一个嵌入配置类并传递有关元素类型(报告、仪表板、磁贴)、在哪里找到它(embedUrl)、身份验证(访问令牌)、一些其他配置选项(显示或隐藏过滤器窗格、导航等)的信息.),要应用的过滤器等等。如果您将使用上面获得的访问令牌,请设置tokenTypeAAD. 此令牌具有许多特权,因此出于安全原因,您可能希望改用Embed令牌。在这种情况下,使用访问令牌再次调用 REST API(例如Reports GenerateTokenInGroup)。

  • JavaScript 客户端的调用powerbi.embed方法传递嵌入式配置以在您的应用中可视化此 Power BI 元素。

以下是一些您应该阅读的资源:


推荐阅读