【问题标题】:Getting an Embed Token for App Owns Data model in Power BI在 Power BI 中获取应用拥有数据模型的嵌入令牌
【发布时间】:2020-01-12 01:18:26
【问题描述】:

我一直在研究如何为 Power BI 中的 App Owns 数据模型获取 Power BI Embed 令牌。事实证明这有点棘手 我找到了一个帖子:https://www.msbiblog.com/2018/01/12/power-bi-embedded-example-using-curl-and-php/ 这有助于将其转化为应用程序拥有的数据,但我觉得我在某处遗漏了一个小但重要的点

有没有人有想法或代码示例可以帮助阐明这一点

谢谢

【问题讨论】:

    标签: php powerbi token embed powerbi-embedded


    【解决方案1】:

    不是很清楚你缺少什么,但这里是来自微软的official samples,包括如何实现App owns data 场景的演示。一个好的起点是阅读Embed content in your application for your customers 教程。您可以在 the playground demo 中查看事情的运作方式。

    要将 Power BI 元素嵌入到您的应用程序中,您需要执行以下操作:

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

    • 下一步是从您的应用程序进行身份验证并获取访问令牌。为此,请使用 Azure Active Directory 身份验证库 (ADAL) - 调用 acquireToken 类的一些 acquireToken 方法。这里是一个ADAL client library 用于 PHP,这里是Microsoft's documentation 用于这些方法。

    • 使用此访问令牌调用 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 元素。

    我还建议您查看Embedding basics 文章(以及此 wiki 中的其余文章)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多