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

如何在自有应用中调用Graph API创建Teams在线会议并获取joinWebUrl

方案评估结论

你目前的方案整体逻辑通顺,但存在重复操作和几个遗漏点,调整后即可满足所有用户创建会议、无微软账号用户正常参会的需求,具体说明如下:

一、不必要的重复操作

你给应用访问策略同时做了单用户授权和全局授权,二者只需要留一个即可:

  • 如果你只需要固定用同一个租户账号创建所有会议,不需要开全局权限,删掉Grant-CsApplicationAccessPolicy -PolicyName online-policy -Global这行命令即可,全局权限范围过大存在安全风险
  • 如果你需要支持租户内多个不同用户身份创建会议,不需要单独给myObjectID授权,全局授权已经覆盖租户内所有用户,删掉单用户授权那行命令即可

二、遗漏的必要配置

  1. 接口版本调整
    你当前调用的是beta版本Graph接口,该版本属于测试版、接口规则随时可能变动,不建议生产环境使用,直接换成v1.0正式版即可,OnlineMeetings.ReadWrite.All应用权限在v1.0已经完全支持,调整后接口地址为:
POST https://graph.microsoft.com/v1.0/users/{用户ObjectID}/onlineMeetings
  1. 令牌请求参数校验
    你只给出了令牌请求地址,需要确认请求参数完整,应用权限模式下必须携带以下参数才能拿到有效令牌:
  • grant_type固定为client_credentials
  • client_id为你注册的AAD应用ID
  • client_secret为AAD应用生成的客户端密钥
  • scope固定为https://graph.microsoft.com/.default
  1. 创建会议的账号许可校验
    你现在固定用myObjectID对应的账号创建会议,该账号必须是你的租户内持有有效Teams许可的正式账号,否则会触发接口报错。如果你的业务需要让自有应用用户绑定自己的微软账号创建会议,需要把接口路径里的myObjectID替换为对应用户在你租户内的AAD ObjectID。

  2. 无微软账号参会者的权限配置
    要让没有微软账号的参会者可以正常加入会议,需要在Teams管理中心的「会议-会议策略」中,找到用于创建会议的账号所属的会议策略,开启允许匿名用户加入会议选项,否则无账号用户点击joinWebUrl会被拦截无法入会。

三、最终生效确认条件

只要满足以下条件,你的所有自有应用用户都可以正常创建会议,所有参会者不管有没有微软账号都可以正常入会:

  • AAD应用的OnlineMeetings.ReadWrite.All应用权限已经完成租户管理员同意
  • 令牌请求参数正确,可拿到有效应用权限令牌
  • 应用访问策略的权限范围符合你的业务需求,无重复授权
  • 用于创建会议的微软账号持有有效Teams许可
  • 已开启匿名用户参会权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:06:08