как получить списочные поля из списка sharepoint с помощью microsoft-graph с помощью c # - PullRequest
0 голосов
/ 08 марта 2019

Как я могу получить значения ListItem из списка SharePoint через .NET Graph SDK?Я получаю ошибку «неверный запрос».

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 Ответ

1 голос
/ 08 марта 2019

Ошибка возникает, поскольку запрос возвращает ListItem ресурс :

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

, но свойства, указанные в выражении выбора, принадлежат 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 ресурс конечная точка, например:

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