在 Power BI 中获取"应用拥有数据"模型的嵌入令牌



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

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

谢谢

目前还不清楚您缺少什么,但以下是Microsoft的官方示例,包括演示如何实现应用拥有的数据场景。一个好的起点是阅读在应用程序中为客户嵌入内容教程。您可以在操场演示中看到工作原理。

若要在应用程序中嵌入 Power BI 元素,需要执行以下操作:

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

  • 下一步是从应用程序进行身份验证并获取访问令牌。为此,请使用 Azure Active Directory 身份验证库 (ADAL( - 调用AuthenticationContext类的一些acquireToken方法。下面是一个用于 PHP 的 ADAL 客户端库,下面是这些方法的Microsoft文档。

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

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

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

我建议您也看看嵌入基础知识文章(以及本维基中的其他文章(。

最新更新