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

MS GraphAPI权限未在Token中显示,调用/people接口遇403错误

解决MS Graph API中People.Read权限未出现在Token导致的403错误

问题回顾

开发基于MS Graph API的应用,使用Postman测试代表用户访问流,已配置读写日历、读取联系人的权限,但调用/people接口时返回403错误:

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

解析Token发现未包含People.Read权限,多次登出重新获取Token无效。

排查与解决步骤

1. 确认Azure AD应用权限配置

  • 登录Azure门户进入应用注册页面,检查API权限标签:
    • 确保添加的是委托权限(而非应用权限),且People.Read权限已在列表中
    • 若使用工作/学校账号,需点击授予管理员同意;若为个人Microsoft账号,需确保用户在授权流程中已同意该权限
    • 检查权限状态:People.Read权限旁应显示“已授予”(管理员授权)或等待用户授权(个人账号)

2. 检查Postman授权请求的Scope参数

  • 在Postman的Authorization标签中选择Authorization Code授权类型:
    • 确认Scope字段明确包含People.Read(可与其他权限一并列出,例如Calendars.ReadWrite People.Read)
    • 若未添加该scope,即使Azure应用配置了权限,Token也不会包含该权限

3. 清除Postman授权缓存并重新授权

  • 在Postman的Authorization标签底部点击Clear Tokens,清除旧授权缓存
  • 重新点击Get New Access Token,在弹出的授权页面中确认People.Read权限已列出,完成授权后获取新Token
  • 解析新Token(可使用jwt.ms),检查scp字段是否包含People.Read

4. 验证用户与应用的租户一致性

  • 若使用工作/学校账号,确保测试用户和应用注册属于同一个Azure AD租户
  • 若应用注册时选择“仅限此组织目录中的账户”,外部用户无法授权该应用的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:22:08