1

我正在尝试使用 .NET SDK 从 SharePoint 子网站的列表中检索项目。我可以获得子网站、列表和项目,但我不知道如何检索列。例如,在这里我试图列出每个列表项的所有标题:

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");

这里有什么问题?

4

1 回答 1

3

a的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();
于 2019-02-27T19:17:56.370 回答