使用SharePoint API获取多层子文件夹下指定文件的方法咨询
可用的SharePoint REST API端点方案
方案1:按文件夹层级逐级拼接
你已经可以获取MainFolder根文件夹的元数据,直接按层级拼接路径即可,完整端点格式如下:
https://{siteRoot}/{site}/_api/web/lists/getByTitle('MainFolder')/rootfolder/SubFolder/FileFolder/Files('myfile.txt')
该端点会直接返回myfile.txt的完整元数据,如果你需要直接获取文件内容,在末尾拼接/$value即可:
https://{siteRoot}/{site}/_api/web/lists/getByTitle('MainFolder')/rootfolder/SubFolder/FileFolder/Files('myfile.txt')/$value
方案2:使用文件相对服务器路径直接查询
如果不想逐层拼接文件夹路径,也可以用GetFileByServerRelativeUrl方法直接定位文件,格式如下:
https://{siteRoot}/{site}/_api/web/GetFileByServerRelativeUrl('/{site}/MainFolder/SubFolder/FileFolder/myfile.txt')
注意此处的服务器相对路径需要填写从站点根目录开始的完整路径,不可缺省层级。
调用注意事项
- 请求头需要带上
Accept: application/json;odata=verbose,否则默认返回XML格式的响应 - 如果你的站点是多级路径,比如存放在
/sites/team1下,文件相对路径需要补全为/sites/team1/MainFolder/SubFolder/FileFolder/myfile.txt - 如果需要执行文件写操作,还需要在请求头额外带上
X-RequestDigest校验值
内容的提问来源于stack exchange,提问作者Dandydon
相关产品推荐
相关产品推荐

