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

9月30日微软已知问题后调用Graph API获取Outlook头像报未授权错误如何解决

你调用的Microsoft Graph接口为 GET /users/{id | userPrincipalName}/photo,返回的错误信息如下:

Unauthorized: Access is denied due to invalid credentials. You do not have permission to view this directory or page using the credentials that you supplied.

问题成因

  • 9月30日微软针对Graph接口的权限校验逻辑完成了安全更新,修复了头像接口此前权限校验宽松的漏洞:此前部分应用未配置头像访问的专属权限,仅通过Groups关联权限、基础用户信息读取权限即可正常调用接口,更新后该类隐式授权逻辑已被完全移除,只有明确配置的头像访问权限才会被系统认可。
  • 你的应用本地缓存的授权令牌生成于更新发布之前,令牌内未包含更新后要求的必填权限范围,调用时会被校验逻辑直接拦截。

解决方案

  • 调整应用注册的权限配置
    • 委派权限场景(用户登录后调用接口):如果仅访问当前登录用户的头像,补充User.Read委派权限即可;如果需要访问组织内其他用户的头像,补充User.Read.All委派权限,所有新增权限都需要完成管理员同意操作后生效。
    • 应用权限场景(后台服务无用户交互调用):补充User.Read.All应用权限,完成管理员全局同意后才可正常使用。
  • 清理历史令牌缓存:删除所有应用侧存储的9月30日之前生成的授权令牌,重新向Azure AD请求新的令牌,可自行解码确认返回的令牌scope字段中包含你新增的权限。
  • 紧急恢复方案:如果需要快速恢复服务,可以暂时切换调用GET /users/{id | userPrincipalName}/photos/$value接口,该接口在此次更新中校验逻辑变动较小,配置正确权限后可以立即恢复访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:18:05