Sharepoint 2010 GetFolderByServerRelativeUrl 不工作

sharepoint 2010 GetFolderByServerRelativeUrl not working

版本:Sharepoint 2010 由 Apps4rent 主办 使用 Sharepoint 2013,我能够使用 _api/Web/GetFolderByServerRelativeUrl('') API 调用获取文件夹和文件 但是对于 Sharepoint 2010 实例,如果我尝试 _api/Web/GetFolderByServerRelativeUrl('') 这个 API 它会给出 404 错误。 如果我在这里做错了请纠正我

SharePoint 2010 不支持直接在浏览器中使用 Rest API,请使用 JSOM 调用它:

<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(getFilesInFolder, 'sp.js');
    var files;
    function getFilesInFolder() {        
        var context = SP.ClientContext.get_current();
        var web = context.get_web();
        var folder = web.getFolderByServerRelativeUrl('/sites/test/Shared%20Documents');
        files = folder.get_files();
        context.load(files);
        context.executeQueryAsync(Function.createDelegate(this, this.OnSuccess), Function.createDelegate(this, this.OnFailure));
    }
    function OnSuccess()
    {                                              
        var listItemEnumerator = files.getEnumerator();
            while (listItemEnumerator.moveNext()) {
                var fileUrl = listItemEnumerator.get_current().get_serverRelativeUrl();
                console.log(fileUrl);           
            }                                         
    }

    function OnFailure(sender, args) {
        alert("Failed. Message:" + args.get_message());
    }
</script>

是的。 SharePoint 2010 不支持 REST API 但您可以使用 listdata.svc 服务。

参考下面的代码。这应该适合你:

'https://abc.abcd.com/sites/RohitW/_vti_bin/Listdata.svc/DocLibTest2?$filter=endswith(Path, 'folder1')'

注意: 在这里,我们试图获取文档库(即 DocLibTest2)

的特定文件夹(即 folder1)中的文件
  1. DocLibTest2 是文档库的名称。

  2. folder1DocLibTest2

  3. 中的文件夹名称

参考:http://www.sharepointnadeem.com/2012/08/enumerating-items-inside-folder-using.html