我想知道如何在空查找中篩選SharePoint rest API中的ListItems(2013)。 在我的列表項目中,有一個查找(單個值,不是必需的),我想要查找空的所有項目(空白)。Sharepoint REST API篩選器空查找字段
_api/web/lists/getbytitle('MyList')/items?$select=Id&$expand=MyLookUp/Id&$filter=??
有人有線索嗎?
THX
我想知道如何在空查找中篩選SharePoint rest API中的ListItems(2013)。 在我的列表項目中,有一個查找(單個值,不是必需的),我想要查找空的所有項目(空白)。Sharepoint REST API篩選器空查找字段
_api/web/lists/getbytitle('MyList')/items?$select=Id&$expand=MyLookUp/Id&$filter=??
有人有線索嗎?
THX
在SharePoint 2013 REST API不支持null值列表項過濾查詢。
但是,您可以將CAML查詢與REST API結合使用以獲取所需的數據。
請參考下面的代碼: (注:請更改您的查詢/ URL):
function _rest_Post(rquest) {
return $.ajax({
method: rquest.method,
url: rquest.url,
contentType: rquest.contentType,
headers: rquest.header,
data: JSON.stringify(rquest.body),
});
}
function GetByCaml(serviceParams) {
var req = {
method: 'POST',
url: url + "/_api/web/lists/getByTitle('" + serviceParams.create.lName + "')/getitems",
header: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose"
},
body: serviceParams.create.body,
contentType: "application/json;odata=verbose",
};
return _rest_Post(req);
}
function getData(){
var queryViewXml = "<View><Query><Where><IsNull><FieldRef Name='Project_x0020_Manager'/></IsNull></Where></Query><ViewFields><FieldRef Name='Title'/></ViewFields></View>";
var params = {};
params.create= {};
params.create.lName = "MyList";
params.create.filter = "";
params.create.body = {
'query':{
'__metadata': { 'type': 'SP.CamlQuery' },
'ViewXml': queryViewXml
}
}
return GetByCaml(params);
};
getData().then(function(data){
//success handler
}, function(error){
//failure handler
});
OP,你的答案是非常接近。空查找的Id值應爲-1。如果您使用SP CAML查詢幫助程序探索原始數據,則應在未選中的查找中看到-1;#。
/項目/?$選擇= ID,標題,Assigned_x0020_To /編號& $擴大= Assigned_x0020_To & $過濾=(Assigned_x0020_To EQ -1)應該爲你工作。
我剛剛發現了一個使用REST工作的解決方案,您只需將查找ID過濾爲大於0.所有查找ID均爲1或更大,但使用不等於0(MyLookup ne 0)失敗,因爲null爲不等於0.但是,null顯然不會大於0。這可能會使數學怪才抽搐,但它的工作。
_api/web/lists/getbytitle('abc')/items?$select=Id&$expand=MyLookUp/Id&$filter=MyLookup gt 0