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

如何通过Microsoft Graph API实现组织内全用户在线会议数据访问?

问题:通过Microsoft Graph API获取全组织在线会议数据遇到权限策略限制

背景与已尝试操作

目标是让单个应用无需指定单个用户,即可读取全公司的在线会议详情及转录文本。已在Azure AD中为应用授予以下应用权限:

  • OnlineMeetings.Read.All
  • OnlineMeetingTranscript.Read.All
  • User.Read.All、Group.Read.All(其他相关权限)

预期凭借这些权限可访问组织内任意用户的会议详情,但调用以下API时收到错误:

https://graph.microsoft.com/v1.0/users/{user-id}/onlineMeetings/{meeting-id}

https://graph.microsoft.com/v1.0/users/{user-id}/onlineMeetings/{meeting-id}/transcripts/{transcript-id}/content

错误响应:

{
    "error": {
        "code": "General",
        "message": "No application access policy found for this app.",
        "innerError": {
            "request-id": "xxxx-xxxx-xxxx-xxxx",
            "date": "2024-08-13T19:47:25",
            "client-request-id": "xxxx-xxxx-xxxx-xxxx"
        }
    }
}

核心目标:无需手动为每个用户或组分配访问策略,实现全公司范围的在线会议数据读取。

具体疑问

  1. 使用OnlineMeetings.Read.All和OnlineMeetingTranscript.Read.All权限时,能否绕过应用访问策略实现全组织会议访问?
  2. 若访问策略为必填项,有无更具扩展性的全组织应用方式,无需手动分配给每个用户或组?
  3. 通过Microsoft Graph API实现全组织在线会议访问,有无替代方法或最佳实践?

解答

1. 能否绕过应用访问策略?

不行,OnlineMeetings.Read.All和OnlineMeetingTranscript.Read.All这类应用权限必须搭配应用访问策略才能生效,这是微软的强制要求,没有绕过途径。即使授予了全范围应用权限,无对应策略授权的话,API仍会返回权限不足的错误。

2. 全范围应用访问策略的扩展性实现

不用逐个给用户或组分配,直接创建覆盖全组织的应用访问策略即可:

  • 使用MicrosoftTeams PowerShell模块执行命令:
    New-CsApplicationAccessPolicy -Identity "全组织会议访问策略" -AppIds "<你的应用ID>" -Description "允许应用访问全组织的在线会议数据" -GlobalScope
    
    其中-GlobalScope参数是核心,它会自动将策略应用到整个组织的所有用户,无需手动添加单个用户或组,完全满足扩展性需求。
  • 执行后等待15-30分钟让策略生效,之后再调用API即可正常访问全组织会议数据。

3. 替代方法与最佳实践

  • 最优方案就是使用全局范围的应用访问策略,这是微软官方推荐的全组织访问方式,配置一次即可覆盖所有用户,维护成本极低。
  • 若需更精细的权限控制(比如仅允许访问特定部门会议),可结合Azure AD安全组,将目标用户加入组后给组分配策略,但针对全组织需求,全局策略是最适配的选择。
  • 注意:应用访问策略仅针对在线会议相关API权限生效,其他Graph API权限(如User.Read.All)无需额外策略,只要权限授予即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:32:04