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

调用Microsoft Graph API(OneDrive)时遇401未授权及80049217错误

解决Microsoft Graph API调用OneDrive返回80049217错误的排查方案
  • 验证令牌实际权限范围
    别只换权限类型,先确认你的访问令牌里到底包含了什么权限。把令牌复制到https://jwt.ms解析,查看scp(委托权限)或roles(应用权限)字段:

    • 访问当前用户个人OneDrive,需要Files.Read或Files.ReadWrite委托权限;访问组织内所有用户OneDrive,需要Files.Read.All或Files.ReadWrite.All委托权限(需用户同意)
    • 用应用权限的话,必须配置Files.Read.All或Files.ReadWrite.All,且要让租户管理员在Azure AD里完成管理员同意,否则令牌里不会带上这个权限。
  • 检查租户级别的访问限制
    有些租户会通过条件访问策略或应用权限限制阻止你的应用访问OneDrive:

    • 让租户管理员确认你的应用是否被允许调用Microsoft Graph
    • 检查是否有条件访问策略要求MFA或特定登录环境,而你的请求没满足这些条件
    • 确认租户是否没禁用OneDrive的API访问权限
  • 确认API端点是否正确
    不同场景的端点不一样,用错会直接触发权限校验失败:

    • 当前用户OneDrive文件列表:GET /me/drive/root/children
    • 指定用户OneDrive文件列表(需对应权限):GET /users/{user-id}/drive/root/children
    • SharePoint文档库文件列表:GET /sites/{site-id}/drive/root/children
  • 排查令牌获取流程的正确性

    • 用委托权限的话,必须走授权码流程,确保用户登录时同意了所需权限,不要用客户端凭证流程获取委托权限令牌
    • 用应用权限的话,要保证客户端ID、客户端密钥、租户ID都正确,且管理员已经完成权限同意
    • 每次调用前检查令牌的exp字段,别用过期令牌

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:57:15