我正在编写一个 Django 多租户 Web 应用程序,该应用程序应该使用 Power BI Embedded 作为报告前端(基本上是从本地数据库呈现数据)。为此,我使用“应用程序拥有数据”场景并在 Azure 中创建了一个应用程序,我可以针对 Active Directory 进行身份验证以检索访问令牌。
但是,我找到的所有代码示例都是 1)不是 Python 或 2)它们不起作用。我想知道是否有人成功使用 ADAL 或 Azure 库进行连接,然后使用 Power BI 库来呈现报告?
谢谢!
是的,你可以这样做。 Microsoft Azure 本身有一个用于根据 AAD 验证 python 应用程序的示例。这应该是您正在寻找的:https://azure.microsoft.com/en-us/resources/samples/data-lake-analytics-python-auth-options/
另请检查此示例:https://github.com/snobu/powerbi-embed-v2
此线程:https://community.powerbi.com/t5/Developer/Access-Power-BI-API-with-Python/td-p/189165
仅供参考,如果您使用的是 Django 版本 >= 4.1,他们引入了 SecurityMiddleware 来禁用第三方 cookie。因此,您可能会遇到 Power BI 嵌入式 iframe 问题。我为此苦苦挣扎。
要允许第三方 Cookie,您可能需要在设置中配置
SECURE_CROSS_ORIGIN_OPENER_POLICY
。