- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想与没有 Microsoft/PowerBI 帐户的用户共享一些 PowerBi 仪表板。我知道我可以在 Sharepoint 在线共享它,但此解决方案的问题是我们可以在网页按钮上找到的共享按钮(Facebook、Twitter、URL)。我不希望用户能够自己共享报告。那么有没有一种方法可以与免费用户分享报告,而不允许他们分享回来。
感谢您的帮助。
最佳答案
做到这一点的唯一方法是将报告/仪表板嵌入您的应用程序(例如网络应用程序)并使用自定义身份验证限制访问。查看官方文档 Tutorial: Embed Power BI content into an application for your customers获取更多信息。
首先你需要知道嵌入Power BI有两种模式——user owns data
和app owns data
。对于第一种模式,在嵌入时,用户将使用自己的 Power BI Pro 帐户对自己进行身份验证,即您的每个用户都需要 Power BI Pro 许可证。使用后者,您只需要一个“主帐户”,它将用于身份验证。在您的情况下,您需要app owns data
。
基本上您需要执行以下操作:
注册一个应用程序 - 转到 dev.powerbi.com/apps并注册一个应用程序。选择授予它的权限(如果您不确定,对于您的第一个测试,只需授予它们所有权限)。复制 guid - 这是应用程序 ID,也就是客户端 ID。
下一步是从您的应用程序进行身份验证并获取访问 token 。使用 Azure Active Directory Authentication Library (ADAL)为此 - 调用 AuthenticationContext
类的一些 acquireToken
方法。
使用此访问 token 调用 Power BI REST API 并获取要嵌入的元素的 embedUrl
,例如report .
使用 Power BI JavaScript client实际嵌入这个元素。你需要初始化一个 embed configuration class并传递有关元素类型(报告、仪表板、磁贴)、在哪里找到它(embedUrl)、身份验证(访问 token )、一些其他配置选项(显示或隐藏过滤器 Pane 、导航等)、要应用的过滤器和很快。如果您将使用上面获取的访问 token ,请将 tokenType
设置为 AAD
。此 token 具有许多特权,因此出于安全原因,您可能希望改用 Embed
token 。在这种情况下,使用访问 token 再次调用 REST API(例如 Reports GenerateTokenInGroup)。
调用 JavaScript 客户端的 powerbi.embed
方法传递嵌入式配置以在您的应用中可视化此 Power BI 元素。
关于powerbi - 为没有 PowerBi 帐户的用户共享仪表板和报告并且不允许共享回来的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58430715/
我对 Objective C 和 iOS 开发总体来说是新手。我正在尝试创建一个应用程序,它会发出 http 请求并在标签上显示内容。 当我开始测试时,我注意到标签是空白的,尽管我的日志显示我已经恢复
我实现了一个 MVP 应用程序。后退按钮工作正常。我想以编程方式回到以前的地方。我该怎么做? 我正在寻找类似的东西: clientFactory.getPlaceController().goBack
我想从 mySubView 制作后退按钮。我有带有按钮的付款ViewController,这个按钮使view.addSubview(WkWebView)。所以我可以打开 WkWebView 但我不可能
我有一个 master 分支,里面有很多不会发布的特性。我被要求从 master 中删除这些功能并创建一个包含它们的新分支,以便我们稍后可以 merge 回 master。 我采取的步骤是: 在 ma
如何禁用页面上的所有 onclick 事件,绑定(bind)我的自定义函数,并在执行后启用所有之前的事件? 我正在构建一个小书签,它应该适用于任何已加载的页面,并且我正在使用 jQuery 来处理我的
我正在尝试从 Spotify api 接收 token 。不幸的是,我一直收到 415。你能帮帮我,让我知道我做错了什么吗? const axios = require('axios'); const
我有一个提供上下文的函数: def buildContext(s:String)(request:RequestHeader):Future[Granite.Context] = { ....
我有一个列表,其中包含几个不同形状的 numpy 数组。我想将这个数组列表 reshape 为一个 numpy 向量,然后更改向量中的每个元素,然后将其 reshape 回原始数组列表。 例如: 输入
我目前有这个工作 fiddle - http://jsfiddle.net/B8Abd/ 我想在函数中使用 jquerys 淡出然后淡入。目前的代码是这样的: function chan
我有 2 个分支,一个是 main 分支,另一个是我正在开发一个 parallel 版本。 A --> B --> C (master) \ -> E --> F (parallel) pa
我试图从我的“ super 项目”中的文件目录中创建一个“子项目”以与其他人一起工作,但我一直在努力使其在 git subtree 中工作。 理想情况下,其他人可以在子项目上工作,然后我从上游更改中提
有没有其他人看到这个? 我正在使用带有回形针的 rails 3,当我上传 .doc 时,它的应用程序/msword 效果很好,但是当我上传 .docx 时,content_type 被保存为应用程序/
我是一名优秀的程序员,十分优秀!