有3个SharePoint列表包含以下列:
PersonList:
地址列表:
AddressTypeList:
我需要的是使用oData REST API的人名,地址和地址类型。
以下是我的询问:
JSONArray
它给了我这个错误:
https://mysitecollection/sites/test/_api/web/lists/getbytitle('PersonList')/items?$select=Title,AddressLookupColumn/Title,AddressLookupColumn/AddressTypeLookupColumn/Title&$Expand=AddressLookupColumn,AddressLookupColumn/AddressTypeLookupColumn_
如何更正我的查询?
答案 0 :(得分:0)
SharePoint Rest调用中不支持嵌套查询
SharePoint REST API不支持两级$ expand或嵌套查询。例如,您正在查询A列表,而A具有从B列表中查找的列。 B在C列表中有一个查找列。因此,如果要查询A列表,则只能$展开B的所有列。
/ _ api / web / lists / getbytitle('A')?$ select = {B的列}&$ expand = B
您无法$ expand扩展C中的任何列。原因是A与C之间没有直接关系。
解决方法#1
首先,获取B列表的ID,对B列表进行另一个REST调用,然后$ expand C的列。
/ _api / web / lists / getbytitle('B')/ items({ItemId})?$ select = {从c中选择列}&$ expand = C
您可以使用$ batch请求来一次获取多个项目,但是$ batch请求在SharePoint 2013中不支持。
更多信息 https://www.c-sharpcorner.com/blogs/sharepoint-rest-api-limitation