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

调用Microsoft Graph API获取Teams组事件返回Access Denied如何解决

Microsoft Graph 调用Teams组日历接口返回AccessDenied错误修复方案

问题核心原因

你遇到的访问拒绝问题90%以上是权限配置不匹配导致,而非用户组身份的问题,按以下步骤逐一排查即可:

排查修复步骤

  • 第一步:修正应用注册的权限配置
    Group.ReadWrite.All权限仅覆盖组基础信息、成员管理等操作,不包含组日历访问权限,你需要在Azure AD应用注册的「API权限」页额外添加如下权限:
    • 权限类型选委托权限(你用的password grant属于用户委托登录场景,不能选应用程序权限)
    • 权限名称选 Calendars.Read.Group(仅读日历)或 Calendars.ReadWrite.Group(可读写日历)
    • 权限添加完成后必须点击「授予<租户名>的管理员同意」,否则权限不会生效
  • 第二步:重新获取身份令牌
    权限配置更新后,之前获取的旧token已经无效,需要重新调用token接口拉取新的token:
    你使用的v1令牌接口参数无需调整,确认resource参数值为https://graph.microsoft.com即可

    拿到新token后可以解析JWT内容,检查scp声明中是否包含Calendars.Read.Group或Calendars.ReadWrite.Group,没有则说明权限配置仍未生效

  • 第三步:确认目标组类型正确
    只有Microsoft 365组(也就是Teams绑定的组)才有日历功能,安全组、通讯组均无日历资源,确认你调用接口时传入的GROUP id对应的是Microsoft 365组
  • 第四步:排查条件访问限制
    如果以上配置都正确仍报错,去Azure AD「登录日志」中查看对应认证请求的详情,确认是否有条件访问策略限制了当前用户/应用访问Graph日历接口,调整对应策略即可

Graph Explorer测试注意事项

在Graph Explorer中测试时需要手动开启对应权限:点击界面顶部「权限」选项卡,找到Calendars.Read.Group权限勾选后重新登录授权,再发起请求即可正常返回结果

你收到的错误返回为通用权限错误,只要权限配置正确即可解决:

{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again."
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:09:04