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

SharePoint API GetFileByServerRelativeUrl可用但GetFolderByServerRelativeUrl操作返回404

SharePoint REST API 调用GetFolderByServerRelativeUrl无法获取文件、新增文件404问题解决方案

问题根因排查&解决方案

1. 站点上下文不匹配(最高概率)

你当前所有请求的API前缀是/sites/front/_api,即你是在**/sites/front站点上下文下发起请求,而目标文件/文件夹的服务器相对路径属于/sites/homePage站点**。

  • SharePoint REST API中GetFileByServerRelativeUrl接口支持同站点集下跨站点查询文件,因此你可以正常获取文件内容;但GetFolderByServerRelativeUrl下的Files集合查询、add写入操作仅支持在文件所在站点的上下文下调用,跨站点调用会返回404或空列表。
  • 修复方法:将请求前缀替换为目标文件所在站点的API路径,即/sites/homePage/_api,再重试文件查询、新增接口即可。

2. 端点大小写、路径格式问题

SharePoint REST API对端点、参数大小写敏感,你现有请求存在2个不规范点:

  • 文件操作端点的Files首字母需要大写,将/files/add修改为/Files/add
  • 标准服务器相对路径必须以/开头,将你接口中路径参数从'sites/homePage/xxx'修改为'/sites/homePage/xxx'重试

3. 库权限继承中断

你配置的租户级完全控制权限仅作用于默认继承权限的资源,如果目标文档库/文件夹手动中断了权限继承,需要单独给你的应用账号授予库级别的编辑权限:

  • 进入目标文档库的设置页面,找到权限管理,添加你的应用主体,授予编辑/完全控制权限。

4. 请求头缺失

调用文件新增接口时,必须携带正确的请求头,否则也会触发异常:

  • 必须携带X-RequestDigest请求头(通过/_api/contextinfo接口获取)
  • 新增JSON文件时携带Content-Type: application/json;odata=verbose
  • 确认overwrite=true参数拼写正确

内容的提问来源于stack exchange,提问作者C.J. Morrison

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:39:03