【问题标题】:Power BI Integration with Spring AngularPower BI 与 Spring Angular 的集成
【发布时间】:2020-07-05 08:55:15
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: angular spring mongodb spring-boot powerbi


    【解决方案1】:

    首先您需要知道嵌入 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 Authentication Library (ADAL) - 调用AuthenticationContext 类的一些acquireToken 方法。

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

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

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

    这里有一些资源,你应该阅读:

    【讨论】:

    • 谢谢你,很好的解释很清楚。一个问题:我需要专业许可证才能使用它吗??
    • 我从未尝试过,因为我大量使用工作区并且它们是 Pro 功能。但是,如果您在我的工作空间中发布报告,并在应用程序拥有数据场景中使用您自己的主帐户凭据,它可能会起作用。试试看吧。
    • 非常感谢,我会试试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多