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

使用SharePoint API列出文件夹/文件时返回空列表的问题排查

SharePoint REST API 查询文件夹/文件无结果排查

问题背景

我在SharePoint中创建了名为import的文件夹,包含:

  • 空文件夹testdir
  • 两个空文件test1.csv和test2.csv

API查询异常

调用REST API查询时,返回有效响应但数据列表为空("value":[]):

查询子文件夹

请求链接:

https://mycomp.sharepoint.com/sites/mysite/_api/Web/GetFolderByServerRelativeUrl('/sites/mysite/mypath/import')/Folders

响应内容:

{"odata.metadata":"https://mycomp.sharepoint.com/sites/mysite/_api/$metadata#SP.ApiData.Folders1","value":[]}

查询文件

请求链接:

https://mycomp.sharepoint.com/sites/mysite/_api/Web/GetFolderByServerRelativeUrl('/sites/mysite/mypath/import')/Files

响应内容:

{"odata.metadata":"https://mycomp.sharepoint.com/sites/mysite/_api/$metadata#SP.ApiData.Files12","value":[]}

疑问:

  • 为何看不到testdir和两个csv文件?
  • API与Web界面权限是否可能不一致(比如API无目录列表权限)?

更新1:查询子文件夹内文件报错

在testdir中创建空文件后,调用以下API:
请求链接:

https://mycomp.sharepoint.com/sites/mysite/_api/Web/GetFolderByServerRelativeUrl('/sites/mysite/mypath/import/testdir')/Files

错误响应:

{"odata.error":{"code":"-2147024894, System.IO.FileNotFoundException","message":{"lang":"fr-FR","value":"Fichier introuvable."}}}

疑问:

  • 新建的文件夹/文件是否存在查询延迟?
  • SharePoint是否需要提交操作才能让API识别?

更新2:使用$expand参数后的结果

添加?$expand=Folders,Files参数查询后,响应中Folders和Files字段仍为空数组;将URL中的空格替换为%20后结果一致。


可能的原因及解决方案

1. 权限验证问题

REST API使用的凭证权限不足是常见原因。检查API调用的身份验证方式(如OAuth、应用权限),确保账号拥有目标文件夹的读取权限,同时具备查看列表项、浏览用户信息等必要权限。可以尝试用Web界面的同一账号调用API,验证权限是否一致。

2. Server Relative URL格式问题

确认GetFolderByServerRelativeUrl中的路径是否正确:

  • 尝试去掉路径两端的单引号,直接传入路径:
    https://mycomp.sharepoint.com/sites/mysite/_api/Web/GetFolderByServerRelativeUrl(/sites/mysite/mypath/import)/Folders
    
  • 若路径包含特殊字符,需进行URL编码(比如空格替换为%20)。

3. 空资源的API查询限制

SharePoint REST API默认可能不会返回空文件夹,尝试添加$select参数指定返回字段:

https://mycomp.sharepoint.com/sites/mysite/_api/Web/GetFolderByServerRelativeUrl('/sites/mysite/mypath/import')/Folders?$select=Name,ServerRelativeUrl

空文件需确认是否完全保存,SharePoint同步延迟通常不超过几分钟,若长时间无结果可重新创建文件测试。

4. 换用GetFolderById端点

先通过/sites/mysite/_api/Web/Folders获取目标文件夹的ID,再用ID查询:

https://mycomp.sharepoint.com/sites/mysite/_api/Web/GetFolderById('{folder-id}')/Folders

这种方式可避免路径格式问题。

5. 区域设置影响

错误信息为法语,尝试在请求头中添加Accept-Language: zh-CN(或站点对应语言代码),确保API响应与站点区域设置一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:31:03