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

使用客户端凭据调用MS Graph API服务主体同步作业接口返回401未授权

问题根因

你当前授予的应用权限不满足目标接口的权限要求,是触发401错误的核心原因:

  • 调用GET /servicePrincipals/{id}/synchronization/jobs接口,应用权限场景下必须配置Synchronization.Read.All或Synchronization.ReadWrite.All的应用程序权限,你当前配置的Directory.ReadWrite.All、Application.ReadWrite.OwnedBy两个权限不支持访问该同步作业相关的接口。
  • 你能正常调用不带后缀的服务主体查询接口,是因为Directory.ReadWrite.All确实覆盖了服务主体基础信息的查询权限,和同步相关子路径的权限要求是相互独立的。
  • Graph Explorer调用成功是因为它走的是委托权限流,你登录的账号本身有Azure AD管理员权限,走委托权限时Directory.ReadWrite.All等管理员权限可以覆盖同步作业的查询,和客户端凭据流的应用权限校验规则不同,所以会出现两端调用结果不一致的情况。
修复步骤
  1. 进入Azure Portal的应用注册页面,找到你当前使用的应用,在「API权限」-「添加权限」-「Microsoft Graph」-「应用程序权限」中,搜索并勾选Synchronization.Read.All(只读场景)或Synchronization.ReadWrite.All(需要修改同步配置的场景)。
  2. 点击「授予管理员同意」完成权限授权,等待2-3分钟让权限生效。
  3. 重新请求访问令牌,再调用目标接口即可正常返回结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:45:00