[英]REST APi to get all times in specific folder in SharePoint document library
我想使用REST API在SharePoint文檔庫中的特定文件夾中獲取名為“Pages”的項目
我使用下面的rest API,我可以獲取文檔庫中的所有項目
https:// spsite / _api / web / lists / getByTitle ('Pages')/ items
但我還沒有找到REST API,我可以在SharePoint文檔庫中的特定文件夾中獲取
至少有兩個選項可用於從特定文件夾返回項目:
1)使用/_api/web/getfolderbyserverrelativeurl('<serverrelativefolderurl>')
端點
以下示例返回特定文件夾中的所有文件以及關聯的列表項:
/_api/web/getfolderbyserverrelativeurl('<serverrelativefolderurl>')/files?$expand=ListItemAllFields
2)使用CAML查詢的FolderServerRelativeUrl
屬性
function getListItems(webUrl,listTitle, queryText,folderUrl)
{
var viewXml = '<View><Query>' + queryText + '</Query></View>';
var url = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/getitems";
var queryPayload = {
'query' : {
'__metadata': { 'type': 'SP.CamlQuery' },
'ViewXml' : viewXml,
"FolderServerRelativeUrl": folderUrl
}
};
return $.ajax({
url: url,
method: "POST",
data: JSON.stringify(queryPayload),
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"Accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
}
});
}
用法
getListItems(_spPageContextInfo.webAbsoluteUrl,'Pages', '', '/Pages/Archive')
.then(function(data)
{
var items = data.d.results;
for(var i = 0; i < items.length;i++) {
console.log(items[i].Title);
}
})
.fail(function(error){
console.log(JSON.stringify(error));
});
您需要使用CAML查詢來指定“過濾器”
在此CAML查詢中,您可以使用以下字段: FileDirRef,並使用文件夾的serverRelativeURL值。
這是如何使用REST API執行CAML查詢的示例: 將CAML與SharePoint REST API一起使用
您可以使用SharePoint 2013 REST API訪問特定文件夾中的文件。
結束點:
http://<site url>/_api/web/getfolderbyserverrelativeurl('/<folder name>')/files
此URL將僅返回位於指定文件夾下(僅在下一級)的文件。
參考文獻:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.