调用Microsoft Graph API获取待办列表时返回401及Unknown Error
可能的排查方向及解决方案:
- 验证访问令牌的受众(aud字段):
解码令牌后确认aud值为https://graph.microsoft.com,如果受众不是Graph API,即使权限正确也会触发401错误。 - 确认使用正确的授权流程:
/me/todo/lists需要用户上下文,只能使用委派权限流程(如Authorization Code Flow),不能用Client Credentials Flow(应用权限)。应用权限调用待办列表需使用GET https://graph.microsoft.com/v1.0/users/{user-id}/todo/lists端点,而非/me。 - 重新获取访问令牌:
Postman可能缓存了旧令牌,即使你在Azure门户更新了权限,旧令牌不会自动刷新。删除Postman中的现有令牌,重新通过授权流程获取新令牌后再尝试调用。 - 确认权限已完成同意操作:
即使Azure门户配置了Tasks.Read/Tasks.ReadWrite等委派权限,仍需完成权限同意:- 个人账号:首次获取令牌时会弹出同意界面,需手动确认;
- 租户账号:需管理员进行管理员同意,或用户个人同意(若租户允许)。
- 检查重定向URI配置:
若使用Authorization Code Flow,Postman中配置的重定向URI必须与Azure AD应用注册里的重定向URI完全一致,否则生成的令牌可能存在上下文问题。
内容的提问来源于stack exchange,提问作者user21958807
相关产品推荐
相关产品推荐

