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

无用户模式获取MS Graph令牌调用用户照片接口返回401问题咨询

问题排查与解决方案

1. 确认权限配置正确性

  • 你使用的无用户场景属于客户端凭据流,必须使用应用权限,不能使用委托权限,请确认你配置的User.Read.All权限类型为「应用权限」而非「委托权限」
  • 权限添加完成后必须点击「授予<租户名>的管理员同意」按钮,仅添加权限未完成管理员同意的情况下,权限不会生效

2. 验证访问令牌有效性

  • 将获取到的访问令牌粘贴到jwt.ms中解析,检查令牌的roles声明中是否包含User.Read.All:

客户端凭据流下发的权限会存放在roles声明中,如果roles为空或没有对应权限,说明权限配置未生效,需要重新配置后清除缓存重新获取令牌

3. 修正请求头构造代码

你当前的Authorization头构造写法不规范,虽然大概率不直接导致401,但建议修改为正确写法避免未知问题:

// 原不规范写法(String.Format使用错误)
sender.DefaultRequestHeaders.Add(
          "Authorization",
           String.Format("Bearer " + result.AccessToken)
           );

// 修正后写法
sender.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", result.AccessToken);

4. 确认请求参数正确性

  • 确认请求路径中的<email adress>为目标用户在租户内的有效用户主体名称(UPN)或用户ID,不存在拼写错误
  • 确认目标用户属于你的Azure AD租户内的有效用户,不是外部访客用户

以上步骤全部确认无误后重新发起请求即可解决401报错问题。

内容的提问来源于stack exchange,提问作者Sándor Jankovics

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:54:04