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

使用Graph API委托权限创建Teams在线会议时遇403权限错误

解决Graph API创建Teams在线会议时的403“未找到应用访问策略”错误

针对你遇到的问题——代码未改动但突然触发403错误,而日历事件功能正常,核心排查方向集中在租户侧的配置变更,而非Graph API委托权限的官方变更,具体如下:

1. 租户管理员启用了Teams应用访问策略限制

虽然委托权限默认无需额外配置,但如果租户管理员最近配置了Teams应用访问策略,你的自定义应用可能被排除在允许创建在线会议的列表之外。

  • 验证:让租户管理员在Teams管理中心查看策略>应用权限策略,确认你的应用是否在允许范围内;或者用PowerShell执行Get-CsApplicationAccessPolicy,检查是否存在针对在线会议的限制规则。
  • 解决:管理员可以通过PowerShell将你的应用加入允许策略,示例命令:
    Grant-CsApplicationAccessPolicy -PolicyName "允许创建会议的策略名称" -Identity "你的应用ID"
    

2. 权限配置被意外调整

检查以下两点:

  • 确认应用注册中的委托权限仍保留OnlineMeetings.ReadWrite,且已完成对应的同意操作(如果是租户级同意,确保管理员未撤销;如果是个人同意,部分租户可能限制了高权限的个人同意权限)。
  • 解析获取到的access_token,确认scope中包含https://graph.microsoft.com/OnlineMeetings.ReadWrite,可以用jwt.ms工具查看token内容。

3. 条件访问策略限制

租户可能开启了Azure AD条件访问策略,针对Graph API的在线会议操作设置了额外限制(比如要求特定设备合规性、登录位置等),而device_code流程的登录环境不符合这些要求。

  • 验证:让管理员检查Azure AD的条件访问策略,查看是否有针对Microsoft Graph中Create online meeting操作的限制规则。

代码确认

你的代码逻辑本身没有问题,整理后的代码片段如下:

String deviceCodeResp = sendPostRequest(AUTH_ENDPOINT + "/devicecode",
        "client_id=" + CLIENT_ID +  "&scope=https://graph.microsoft.com/User.Read+https://graph.microsoft.com/OnlineMeetings.ReadWrite",
        "application/x-www-form-urlencoded"
);
    
// 提取设备码和提示信息
String deviceCode = extractJsonValue(deviceCodeResp, "device_code");

// 用户在Microsoft设备登录页面输入用户码

String tokenResponse = sendPostRequest(AUTH_ENDPOINT + "/token",
     "grant_type=device_code" +
     "&device_code=" + deviceCode +
     "&client_id=" + CLIENT_ID,
     "application/x-www-form-urlencoded"
);
String token = extractJsonValue(tokenResponse, "access_token");

// 使用access_token创建会议
String meetingResponse = sendPostRequest(GRAPH_ENDPOINT + "/me/onlineMeetings",
    meetingJson,
    "application/json",
    token
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 16:05:09