Microsoft Graph .NET SDK - 检索 ListItem 字段
Microsoft Graph .NET SDK - Retrieving ListItem Field
我正在尝试使用 .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");
这里有什么问题?
ListItem
的 fields
属性 是您需要 "expand" 而不是 "select" 的集合。
您在此处使用的代码正在执行以下查询:
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();
我正在尝试使用 .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");
这里有什么问题?
ListItem
的 fields
属性 是您需要 "expand" 而不是 "select" 的集合。
您在此处使用的代码正在执行以下查询:
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();