我是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')
我错过了一些简单的东西吗?
答案 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]")