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

Node.js调用Microsoft Graph:获取用户成功但访问OneDrive报404求助

解决Microsoft Graph访问OneDrive返回404的建议

以下是针对你遇到问题的排查方向:

  • 替换URL中的占位符:你代码里的{id}是Graph文档中的占位符,必须替换为实际的用户ID(如123e4567-e89b-12d3-a456-426614174000)或用户的UPN(如user@yourdomain.com),不能直接保留{id}作为URL的一部分。
  • 检查权限配置:获取用户列表仅需用户读取类权限,但访问OneDrive需要文件相关权限。确认你在授权请求时已申请Files.Read、Files.Read.All或对应范围的权限,且如果是应用权限,已获得管理员同意。
  • 验证用户OneDrive状态:部分用户(如新创建用户、来宾用户)可能未初始化OneDrive,此时访问其drive会返回404。可先通过Graph Explorer访问该用户的/users/{id}/drive端点,确认OneDrive已存在。
  • 检查令牌权限:解码你的accessToken,查看其中的scp(委派权限)或roles(应用权限)声明,确认包含访问OneDrive所需的权限范围。
  • 区分应用/委派权限模式:如果使用应用权限,确保请求的是用户的drive资源(而非/me/drive),且权限为应用级权限;如果是委派权限,确保令牌是代表目标用户获取的,而非应用自身的令牌。

修正后的示例代码

// 替换为实际用户ID或UPN
const userId = "user@yourdomain.com";
await fetch.callApi(`https://graph.microsoft.com/v1.0/users/${userId}/drive/root/children`, authResponse.accessToken);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:33:08