【发布时间】:2019-06-26 03:56:00
【问题描述】:
我正在使用强大的 BI Visual Studio 解决方案进行一些研发,并且正在努力以编程方式嵌入内容。我有 Power BI Pro 试用版。
从Embed Setup 网页,我创建了一个应用程序(“用户拥有数据”和示例数据)并下载了示例 VS 解决方案,该解决方案配置了刚刚创建的应用程序的 GUID。该应用程序出现在我的 Power BI Web 界面中,当我运行 VS Web 应用程序时,我得到三个按钮(嵌入报表 | 嵌入仪表板 | 嵌入磁贴)。这行得通 - 我可以查看嵌入的报告。
我的问题是当我使用 Power BI 界面安装应用程序,然后尝试使用我刚刚安装的应用程序的 appId 运行我的 VS 项目时。例如 - 我安装了 Github 应用程序并选择使用示例数据。如果我将 appId、工作区 Id 和报告 Id 插入到我的 VS 项目中,当我运行它并单击“嵌入报告”按钮时会收到以下消息
AADSTS700016: Application with identifier '5c7d26d1-006d-43ac-9eb7-6aa3e1f6b364' was not found in the directory 'foo.onmicrosoft.com'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.
Trace ID: e77376aa-b7ca-4c09-9184-31f96eea9800
Correlation ID: d42a0b9c-c93d-4601-87d6-05d9cca70e0d
Timestamp: 2019-06-04 15:59:58Z
为什么我使用“嵌入设置”页面创建的应用程序可以正常工作,但其他应用程序的 Id 却因该错误而失败? 我在 VS 项目中使用与登录 Power BI 网站时使用的登录凭据相同的登录凭据,以及使用“嵌入设置”页面创建应用程序时使用的登录凭据。
它是否正在寻找在我的 Azure 门户中的 Active Directory > 应用注册下注册的应用?如果是这样,为什么其他 Power BI 应用可以工作(嵌入设置路线)?
当我测试使用“App Owns Data”创建应用程序时,该应用程序已在我的 Azure AD 中注册
附带说明 - 是否有一种简单的方法来获取应用的应用、工作区和报告 ID? AppId 很容易从 URL 中获取,但工作区 ID 似乎永远不会出现
更新
按照@Andrey 的建议使用“入职嵌入工具”后,我确实看到了在 Azure 中注册的应用程序,但是如果我将 applicationId web.config 键替换为 Azure 应用程序的 ID,我会收到不同的错误消息(如下)。我确信 applicationId int the web.config 生成的项目具体是(Power BI)应用程序 ID,而不是 Azure 应用程序 ID(一点也不令人困惑,微软!)。使用 Azure 应用程序 ID,我收到以下错误:
Error
AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.
Trace ID: 5e8391c2-4681-4c8e-9294-a99fd56dbb00
Correlation ID: 10d48927-d5ec-45bd-a5b3-e9c1e147f97c
Timestamp: 2019-06-05 15:29:44Z
我觉得有我需要但找不到的文档。我已经创建了出现在 Azure 中的应用程序(我以前做过,但在此应用程序和我的 PowerBI 页面之间找不到任何连接)。我在 Power BI 中创建了应用、工作区和报表。我想要做的就是使用 .Net SDK 从特定的 Power BI 安装中提取可视化,即将客户数据的可视化插入到他们的网站上。
当我找到解决方案时,我会继续挖掘和更新
【问题讨论】:
标签: powerbi