使用MS Graph API列出OneDrive文件夹文件时URL报错400求助
解决MS Graph API调用400(无效请求URL)问题
- 先确认URL里的所有占位符都替换干净:把
{{UserId}}换成实际用户ID(UPN、Object ID或邮箱均可),{drive-id}换成OneDrive的驱动器ID(注意别写成你提到的driverID,拼写错误会直接导致URL无效),{item-id}换成目标文件夹的ID,确保URL里没残留任何{}或{{}}符号。 - 检查参数格式是否正确:drive-id和item-id都是类似
b!xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx的字符串,要确认复制的ID完整、无多余空格,且item-id必须是文件夹的ID而非文件ID;如果用邮箱作为用户ID,要保证格式准确。 - 核对URL的拼写和结构:确认路径是
drives而非drivers,API版本v1.0没有写错,也不要出现/drives//items/这类连续斜杠的错误。 - 确认请求方法:该接口必须使用GET方法,误用POST/PUT等其他方法也会触发400错误;如果参数包含特殊字符,手动拼接URL时要做URL编码(Postman通常会自动处理,但手动拼接需注意)。
- 检查权限范围:即使accessToken有效,也要确保它包含对应权限——个人OneDrive需要
Files.Read/Files.ReadWrite等权限,OneDrive for Business需要Sites.Read.All/Sites.ReadWrite.All等权限,可通过jwt.io解码token,查看scp字段是否包含所需权限。
内容的提问来源于stack exchange,提问作者Dat Minh
相关产品推荐
相关产品推荐

