SharePoint更改REST请求的列ID

时间:2015-12-22 20:30:42

标签: api rest sharepoint sharepoint-2013

我最近开始尝试使用SharePoint 2013 Foundation的REST API,我试图返回列表中的所有条目。我的GET请求返回我要查找的数据,但用于标识列表中列的ID无助于识别信息(见下图)。标题'之间的列ID和第二张图片中的ID'是混乱的字符。

SharePoint List View

Response Data

有没有办法配置列表以使用列名作为ID?此外,目前用作ID的字符是否有一些重要意义?

2 个答案:

答案 0 :(得分:0)

您需要发出第二个请求,以获取包含InternalName和Title的列表,这是您要引用的内容:

您可以使用此REST呼叫:

_api/web/lists/GetByTitle('Project Details')/fields

或者您可以使用CSOM:

using (ClientContext context = new ClientContext(url))
{
   List list = context.Web.Lists.GetByTitle("Project Details");
   context.Load(list, l => l.Fields);
   context.ExecuteQuery();
   foreach(Field field in list.Fields)
   {
      Console.WriteLine(field.Title);
      Console.WriteLine(field.InternalName);
   }
}

SharePoint自动生成InternalName,它是一个只读字段,至少使用REST。将字段数据与标题相关联比更改值更容易。[/ p>

答案 1 :(得分:-1)

您在“标题”和“标识”之间引用的列是与该项关联的内容类型的ID。它不是列ID。

SharePoint REST API符合OData,因此您可以使用$ select参数查询必要字段。

http://server/site/_api/web/lists('guid')/items?$select=Column1,Column2

请注意,查找字段也需要扩展,否则只能获得查找项的ID。

http://server/site/_api/web/lists('guid')/items?$select=LookupColumn&$expand=LookupColumn/Title