Python Web 应用程序访问 Power BI 嵌入式报表时出现问题

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

我无法在使用 Python Web 应用程序的 Power BI 服务中显示 power bi 报告。我收到此错误消息:

错误详细信息: 400 错误请求:检索嵌入令牌时出错 错误请求:{“error”:{“code”:“InvalidRequest”,“message”:“创建用于访问数据集 de376430-e631-4dbe-8722-2c9112f6e0ca 的嵌入令牌需要提供有效的身份”}} 请求ID:052b6e05-8a39-408c-94d7-fe7091010d29

我已遵循本文中的所有步骤https://www.alphabold.com/power-bi-embedded-implementation-using-service-principal-and-python/

正在创建一个Power BI嵌入式解决方案,我在其中创建了一个服务主体服务用户,我已将其放入安全组中,并且该服务主体也是power bi工作区中的管理员。我已经测试了这个解决方案,并且显示了一个没有数据集连接的虚拟报告。

在实际测试中,我使用了一个 power bi 报告,该报告通过数据网关将数据集发送到本地 sql 服务器数据库。该报告本身正在 power bi 服务内工作,但是当我尝试使其显示在网络应用程序中时,会出现错误消息。

所以我认为它一定与数据网关和与本地数据集的连接有关。我在某处听说我需要将数据网关用户添加到sql数据库中。好吧,我希望有人能帮助我解决这个问题

问候盖尔

python web powerbi-embedded
2个回答
1
投票

此错误可能由许多不同因素引起,例如:

  • 身份验证令牌已过期

  • 数据集不支持有效身份

  • 未提供用户名

  • 未提供角色

  • 未提供DatasetId

  • 用户没有正确的权限

尝试以下步骤看看是哪一个:

  • 确保身份验证令牌已刷新
  • 执行获取数据集。 IsEffectiveIdentityRequired 属性是否为 true?
  • 对于任何有效身份,用户名都是必需的。
  • 如果 IsEffectiveIdentityRolesRequired 为 true,则角色为必需。
  • DatasetId 对于任何有效身份都是必需的。
  • 对于 Analysis Services,主用户必须是网关管理员。

参考:

https://learn.microsoft.com/power-bi/developer/embedded/embedded-troubleshoot#what-is-the-difference- Between-application-object-id-and-principal-object-id


0
投票

仅供您参考,如果您使用 Django 版本 >= 4.1,他们引入了禁用第三方 cookie 的 SecurityMiddleware。因此,您可能会遇到 Power BI 嵌入式 iframe 的问题。我为此苦苦挣扎。

要允许第三方 cookie,您可能需要在设置中配置 SECURE_CROSS_ORIGIN_OPENER_POLICY。

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