所有网站集中的SharePoint 2013 REST API GetItems

时间:2018-10-31 16:35:21

标签: rest sharepoint

我使用此POST请求获取商品

var url="/_api/web/lists/getByTitle('Documents')/GetItems(query=@v1)?$select=Title,FileRef&@v1={\"ViewXml\":\"<View><Query><Where><Eq><FieldRef%20Name='societe'/><Value%20Type='TaxonomyFieldType'>"+currentCompany+"</Value></Eq></Where></Query></View>\"}";
       console.log(url);
        return $http({
            method: 'POST',
            url: "/_api/web/lists/getByTitle('Documents')/GetItems(query=@v1)?$select=Title,FileRef&@v1={\"ViewXml\":\"<View><Query><Where><Eq><FieldRef%20Name='societe'/><Value%20Type='TaxonomyFieldType'>"+currentCompany+"</Value></Eq></Where></Query></View>\"}",
            headers: {
                'Accept': 'application/json;odata=verbose'
                , 'X-RequestDigest': $('#__REQUESTDIGEST').val()
            }
        });

那行得通,但我想在所有网站集中而不是在文档列表中获得此项目。

有可能吗?

1 个答案:

答案 0 :(得分:0)

服务器端对象模型中有一个名为SPSiteDataQuery的东西,它可以查询整个网站集中的内容-如果您在OnPrem中工作,则可以使用它。不幸的是,客户端上没有等效的功能(因此在JSOM,CSOM和REST中如此)。

但是,根据您的用例,您可以考虑使用SharePoint搜索。不过请记住,它可能不会返回您想要的结果,并且对项目所做的更改不会立即在结果中可见(更新索引可能要花几个小时)。

有关SPSiteDataQuery的更多信息:SPSiteDataQuery Share Point Example

SharePoint Stack Exchange上的链接线程:Can we use SPSiteDataQuery in JSOM OUT OF BOX?

有关搜索的更多信息:Using the SharePoint search Query APIs