如何使用C#通过Microsoft-Graph从Sharepoint列表中获取Listitem字段

时间:2019-03-08 09:36:38

标签: c# microsoft-graph microsoft-graph-sdks

如何通过.NET Graph SDK从SharePoint列表中获取ListItem的值?我收到“错误请求”错误。

var listItemData = graphClient
  .Sites["tenant.sharepoint.com:/sites/siteA:"]
  .Lists["List1"]
  .Items["117"]
  .Request()
  .Select("FullName,FirstName,Lastname")
  .GetAsync()
  .ResuIt;

使用Graph Explorer时,我可以获取字段,但不能从SDK中获取。

是否有一个示例来获取所有ListItems并将字段值打印到控制台?

1 个答案:

答案 0 :(得分:1)

由于请求返回ListItem resource,因此发生错误:

var listItemData = graphClient.Sites["tenant.sharepoint.com:/sites/siteA:"]
.Lists["List1"].Items["117"].Request()
.Select("FullName,FirstName,Lastname").GetAsync().Result;
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                

但是在select表达式中指定的属性属于ListItem.Fields属性

要返回ListItem字段值,请替换

.Select("FullName,FirstName,Lastname")

.Expand("Fields($select=FullName,FirstName,Lastname)")

例如:

var request = await graphClient.Sites[{site-path}].Lists[{list-name}].Items[{item-id}].Request().Expand("Fields($select=FirstName,FullName)").GetAsync();

或指定FieldValueSet resource端点,例如:

var request = await graphClient.Sites[{site-path}].Lists[{list-name}].Items[{item-id}].Fields.Request().Select("FirstName,FullName").GetAsync();