SharePoint GetFolderByServerRelativeUrl / Files API未按预期返回文件列表

时间:2014-12-01 23:31:02

标签: file api sharepoint

我是SharePoint新手,我遇到了一些我发现的简单示例的问题,我不确定是否有权限我没有正确或者我不理解这个正常。

当我使用浏览器访问我的网址时:

https://mysite.com/_api/web/GetFolderByServerRelativeUrl('/SCF/Shared%20Documents/FY%202014%20Memos')

返回xml的一部分表示有87个项<d:ItemCount m:type="Edm.Int32">87</d:ItemCount>,它与此文件夹中的文件数正确相关。

这是我感到困惑的地方。当我使用以下内容显示文件夹的内容时,我没有像我期望的那样得到结果xml中列出的任何文件信息:

https://mysite.com/_api/web/GetFolderByServerRelativeUrl('/SCF/Shared%20Documents/FY%202014%20Memos')/Files

我还尝试了以下方法来获取特定的文件信息,但是我收到了一个找不到文件的信息:

https://mysite.com/_api/web/GetFolderByServerRelativeUrl('/SCF/Shared%20Documents/FY%202014%20Memos/096.pdf')

我错过了一些简单的东西吗?

2 个答案:

答案 0 :(得分:11)

出现此现象的原因是在REST查询中指定了SP.Web.getFolderByServerRelativeUrl Method的不正确的Web上下文:

https://[server]/[web]/_api/web/GetFolderByServerRelativeUrl('/[web]/[library]/[folder]')
                   |
                   web site from which Folder/Files are retrieved   

假设以下网站结构:

/ News web (root)
    |
    Archive sub web
       |
        Documents library
            |
            2008 Folder 

然后是以下REST查询:

https://[server]/archive/_api/web/GetFolderByServerRelativeUrl('/archive/Documents/2008')/Files

https://[server]/archive/_api/web/GetFolderByServerRelativeUrl('Documents/2008')/Files

将返回位于2008子网站下的Documents库的Archive文件夹中的文件。

答案 1 :(得分:0)

不管你信不信,我的问题是用双引号而不是单引号发送参数

好:

https://[server]/[web]/_api/web/GetFolderByServerRelativeUrl('/[web]/[library]/[folder]')

坏:

https://[server]/[web]/_api/web/GetFolderByServerRelativeUrl("/[web]/[library]/[folder]")