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

使用带Sites.Read.All权限的托管身份调用Microsoft Graph Search API遇401未授权

可能导致401 Unauthorized的原因
  • 权限范围不匹配:虽然你给托管身份分配了Sites.Read.All权限,但Microsoft Graph Search API的/search/query端点需要的是Search.Query.All应用权限——Sites.Read.All仅能读取站点内容,无法授权执行搜索查询操作。
  • 令牌受众(Audience)错误:检查获取的JWT令牌里的aud声明,确认值是https://graph.microsoft.com。如果托管身份拿令牌时指定了错误的资源URI,Graph API会直接拒绝该令牌。
  • 权限未同步生效:Azure AD给托管身份分配应用权限后,通常需要15-30分钟才能完全同步,要是刚分配完就测试,大概率会碰到权限还没生效的问题。
  • 令牌缺少必要角色声明:把JWT令牌解码(本地用JWT工具就行),看看roles字段里有没有包含所需的权限。如果没有,说明权限分配没成功或者还没同步到位。
  • 查询资源超出权限:就算权限配置对了,要是搜索查询试图访问托管身份无权读取的资源(比如跨租户站点、受限文档库),也可能返回401(这种情况更多见403,但部分场景下会触发401)。
  • 托管身份配置错误:确认用的是系统托管身份还是用户托管身份,检查身份是否正确关联到你的应用/服务,且获取令牌时指定了正确的身份ID或名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:21:23