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

Azure应用注册:如何在应用上下文使用OnlineMeetings.ReadWrite.All创建会议

问题解答

核心结论

不可行。要通过应用权限(client_credentials模式)代表租户内任意用户创建Teams会议,必须配置应用访问策略,这是Microsoft Graph针对OnlineMeetings相关应用权限的强制要求,没有绕开的方式。

原因分析

你尝试的client_credentials授权模式本身合规,但OnlineMeetings.ReadWrite.All应用权限的生效依赖额外的应用访问策略配置:

  • 微软Graph为管控应用对会议资源的访问范围,要求所有使用该应用权限的注册应用,必须通过PowerShell将其添加到允许访问指定用户/用户组的策略中。
  • 未配置该策略时,即使应用拥有OnlineMeetings.ReadWrite.All权限,调用POST /users/{userId}/onlineMeetings/createOrGet接口也会返回权限不足的错误。

正确实现步骤

  1. 确认权限配置:确保Azure应用注册已添加OnlineMeetings.ReadWrite.All应用权限,且完成了管理员同意。
  2. 配置应用访问策略:通过PowerShell执行以下操作:
    • 安装并导入Microsoft Teams模块:
      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      Connect-MicrosoftTeams
      
    • 创建应用访问策略:
      New-CsApplicationAccessPolicy -Identity "AllowAllUsers" -AppIds @("你的应用注册ID") -Description "允许应用代表所有用户创建会议"
      
    • 将策略应用到租户所有用户:
      Grant-CsApplicationAccessPolicy -PolicyName "AllowAllUsers" -Global
      
  3. 获取访问令牌:使用client_credentials模式,授权范围仅需指定https://graph.microsoft.com/.default(offline_access属于委派权限模式的范围,此处无需添加)。
  4. 调用接口:用获取到的令牌调用POST /users/{userId}/onlineMeetings/createOrGet接口,即可代表指定用户创建会议。

补充说明

  • 应用权限模式本身无需用户同意(仅需管理员完成权限同意),但应用访问策略是必须的配置环节,无法跳过。
  • 若不想配置应用访问策略,只能切换到委派权限模式,但该模式需要用户登录授权,无法直接代表任意用户创建会议(除非使用用户模拟,但仍需用户凭据或授权)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:49:58