Microsoft Graph .NET SDK - получение поля ListItem - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь извлечь элементы из списка на дочернем сайте SharePoint с помощью .NET SDK.Я могу получить дочерний сайт, список и элементы, но я не знаю, как получить столбцы.Например, здесь я пытаюсь перечислить все заголовки каждого элемента списка:

IListItemsCollectionPage items = await graphClient
    .Sites[targetstate_id]
    .Lists[targetlist_id]
    .Items
    .Request()
    .Select("Fields")
    .GetAsync();

Console.WriteLine("Chosen ID: " + lists[listindex].Id);
Console.WriteLine("Number of items: " + items.Count);
for (var index = 0; index < items.Count; index++) {
    //(attempting) at writing the title of each item in list
    Console.WriteLine("Title " + items[index].Fields.AdditionalData["Title"]);
}
Console.WriteLine("Completed");

В чем здесь проблема?

1 Ответ

0 голосов
/ 27 февраля 2019

Свойство fields для ListItem - это коллекция, которую нужно «расширять», а не «выбирать».

Код, который вы используете здесь, выполняет следующий запрос:

https://graph.microsoft.com/v1.0/sites/{id}/lists/{id}/items?$select=fields

Однако вы хотите:

https://graph.microsoft.com/v1.0/sites/{id}/lists/{id}/items?$expand=fields

При использовании SDK вы 'захочется что-то вроде этого:

IListItemsCollectionPage items = await graphClient
    .Sites[targetstate_id]
    .Lists[targetlist_id]
    .Items
    .Request()
    .Expand("fields")
    .GetAsync();
...