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

使用客户端凭证获取Microsoft Graph令牌访问用户日历报权限不足问题

客户端凭证模式下Graph接口权限不足的排查解决

你在使用client_credentials授权模式获取令牌后请求/users接口报权限不足,即便在应用配置页面添加了权限,也大概率是两个高频配置漏项导致的,按优先级逐一排查即可:

第一步:匹配对应授权模式的权限类型

你当前使用的是客户端凭证模式,属于应用以自身身份调用接口的流程,必须在API权限列表中选择「应用程序权限」,不能选择委托类型的权限:

  • 委托权限是给用户登录场景用的,在客户端凭证流程下完全不会生效
  • 对应你的业务需要的最小权限配置:
    • 调用/users接口:勾选User.Read.All 应用程序权限
    • 后续拉取用户日历数据:勾选Calendars.Read 应用程序权限

第二步:完成租户级别的管理员权限同意

绝大多数人配置权限时会漏这一步:在权限列表点选添加权限不等于权限生效,对于应用程序权限,必须由全局管理员手动触发租户级的同意授权,权限才会正式启用,系统不会自动开通。
操作路径:

  • 进入对应应用的「API权限」配置页
  • 确认已经选好正确的应用程序权限后,点击页面顶部的「授予[租户名]的管理员同意」按钮
  • 等待页面刷新,确认对应权限的“状态”列显示“已为[租户名]授予”的绿色标识,才代表权限配置生效

注意:如果之前误加了委托权限,就算点了管理员同意也无法解决当前报错,需要先删除全部不匹配的委托权限,换成正确的应用程序权限后再完成同意流程。

第三步:重新申请访问令牌验证

之前生成的旧访问令牌是在权限未生效阶段申请的,不会自动同步后续的权限变更,需要重新调用token接口申请全新的访问令牌,再请求目标Graph接口测试。
可以通过解码新获取的令牌查看roles字段的方式,确认令牌中已经携带了对应的权限值,如果字段中没有匹配的权限标识,说明管理员同意步骤没有操作成功,需要返回上一步重新检查。

额外排查项

  • 确认申请令牌使用的租户ID,和你配置权限、完成管理员同意的租户为同一租户,跨租户场景下权限不会共享
  • 检查租户的条件访问策略、权限管理配置,是否对当前应用的接口访问做了拦截限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 08:24:03