You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否以App-Owns-Data模式在Power Apps中嵌入Power BI报表?

在Power Apps中实现App-Owns-Data模式嵌入Power BI报表

可以实现类似.NET Web应用中App-Owns-Data的效果,让组织内Azure AD注册用户无需Power BI许可证查看报表,但实现路径和.NET有所差异,核心步骤如下:

1. 准备Power BI端的App-Owns-Data基础配置

  • 在Azure AD注册应用,配置Power BI API应用级权限(需勾选Report.Read.All、Dataset.ReadWrite.All等,并完成管理员同意)。
  • 确保报表发布到关联专用容量(A/P SKU)的工作区,且该工作区由Azure AD应用身份拥有或具备访问权限。
  • 记录应用的客户端ID、客户端密钥,以及目标工作区ID、报表ID。

2. 通过Power Automate生成嵌入令牌

Power Apps无法直接调用Power BI Embedded API完成身份验证,需借助Power Automate作为中间层:

  • 创建新流,添加「HTTP」动作,调用Power BI REST API的GenerateToken端点(请求地址:https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken)。
  • 设置HTTP请求方法为POST,请求头包含Content-Type: application/json,通过客户端ID+密钥配置OAuth 2.0身份验证(资源URL为https://analysis.windows.net/powerbi/api)。
  • 请求体传入权限配置,示例:
    {
      "accessLevel": "View"
    }
    
  • 将流返回的嵌入令牌作为输出,供Power Apps调用。

3. 在Power Apps中嵌入报表

  • 插入Power BI组件到画布应用中。
  • 在应用加载事件或组件属性配置中,调用上述Power Automate流获取嵌入令牌。
  • 将工作区ID、报表ID、嵌入令牌分别赋值给Power BI组件的WorkspaceId、ReportId、EmbedToken属性。

4. 权限与许可证说明

  • 终端用户无需Power BI Pro/Premium许可证,但必须是组织内Azure AD注册用户,且拥有Power Apps访问权限(需对应Power Apps许可证,如Per User/Per App)。
  • 嵌入依赖的Power BI专用容量需正常运行,容量费用由组织承担。

注意事项

  • Power BI组件的交互能力有限,部分.NET嵌入场景支持的自定义交互(如自定义事件监听)无法在Power Apps中实现,需提前测试报表功能兼容性。
  • 嵌入令牌默认有效期为1小时,可在Power Apps中添加定时逻辑,调用流刷新令牌,避免用户使用过程中令牌失效。

内容的提问来源于stack exchange,提问作者Ahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 08:05:10