我想与没有 Microsoft/PowerBI 帐户的用户共享一些 PowerBi 仪表板。
我知道我可以在 Sharepoint 在线共享它,但此解决方案的问题是我们可以在网页按钮上找到共享按钮(Facebook、Twitter、URL)。我不希望用户能够自己共享报告。那么有没有一种方法可以与免费用户共享报告而不允许他们共享回来。
感谢您的帮助。
执行此操作的唯一方法是将报告/仪表板嵌入到您的应用程序(例如 Web 应用程序)中,并使用自定义身份验证限制访问。查看官方文档教程:将 Power BI 内容嵌入到客户的应用程序中 https://learn.microsoft.com/en-us/power-bi/developer/embed-sample-for-customers了解更多信息。
首先您需要知道嵌入Power BI有两种模式 -user owns data
and app owns data
。在第一种模式下,嵌入时,用户将使用自己的 Power BI Pro 帐户对自己进行身份验证,即每个用户都需要 Power BI Pro 许可证。对于后一种,您只需要一个“主帐户”,该帐户将用于身份验证。在你的情况下你需要app owns data
.
基本上您需要执行以下操作:
注册应用程序 - 转至dev.powerbi.com/apps https://dev.powerbi.com/apps并注册申请。选择要授予的权限(如果您不确定,对于您的第一次测试,只需授予所有权限)。复制 guid - 这是应用程序 ID,也称为客户端 ID。
下一步是从您的应用程序进行身份验证并获取访问令牌。使用Azure Active Directory 身份验证库 (ADAL) https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-libraries为此 - 致电一些acquireToken
的方法AuthenticationContext
class.
使用此访问令牌调用 Power BI REST API 并获取embedUrl
您要嵌入的元素的名称,例如report https://learn.microsoft.com/en-us/rest/api/power-bi/reports/getreportingroup#report.
Use Power BI JavaScript 客户端 https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embedding-Basics实际嵌入这个元素。你需要初始化一个嵌入配置类 https://github.com/microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details并传递有关元素类型(报告、仪表板、图块)、在哪里找到它(embedUrl)、身份验证(访问令牌)、一些其他配置选项(显示或隐藏过滤器窗格、导航等)、要应用的过滤器和很快。如果您将使用上面获取的访问令牌,请设置tokenType
to be AAD
。该令牌具有许多权限,因此出于安全原因您可能需要使用Embed
代币。在这种情况下,请使用访问令牌再次调用 REST API(例如报告GenerateTokenInGroup https://learn.microsoft.com/en-us/rest/api/power-bi/embedtoken/reports_generatetokeningroup).
Call powerbi.embed
JavaScript 客户端的方法传递嵌入式配置以在应用程序中可视化此 Power BI 元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)