JSF页面中的显示Power Bi仪表板

问题描述 投票:0回答:1

我想知道如何在power bi dashboard中呈现jsf application,但不显示代码中的链接供其他人访问。

我看过Google,但没有发现任何问题。

仅适用于Angular

jsf powerbi
1个回答
1
投票

您必须使用Power BI JavaScript client将报告/仪表板嵌入到Web应用程序中。在服务器端进行身份验证和其他API调用。有关更多信息,请参见官方文档Tutorial: Embed Power BI content into an application for your customers。还有Microsoft的Angular client

首先,您需要知道有两种嵌入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)-调用acquireToken类的某些AuthenticationContext方法。

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

  • 使用Power BI JavaScript client实际嵌入此元素。您需要初始化一个embed configuration class并传递有关元素类型(报告,仪表板,磁贴),在哪里找到它(embedUrl),身份验证(访问令牌),其他一些配置选项(显示或隐藏过滤器窗格,导航等)的信息。),要应用的过滤器等。如果您将使用上面获得的访问令牌,请将tokenType设置为AAD。该令牌具有许多特权,因此出于安全原因,您可能需要使用Embed令牌。在这种情况下,请使用访问令牌再次调用REST API(例如Reports GenerateTokenInGroup)。这样,主访问令牌将永远不会对客户端可见。但是请注意,这将需要为发布报告的工作区分配专用的容量(即,您需要购买Power BI PremiumPower BI Embedded)。

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

© www.soinside.com 2019 - 2024. All rights reserved.