在 Microsoft Graph 中获取 ListItem 的多个查找字段
Get Multiple Lookup field for a ListItem in Microsoft Graph
我有一个允许每个项目有多个值的查找列。我使用 Microsoft Graph .NET SDK 检索列表项的所有列值:
ListItem item = await graphClient.Sites[siteId].Drive.Items[itemId].ListItem.Fields.Request().GetAsync();
我还尝试专门检索查找列:
var queryOptions = new List<QueryOption>()
{
new QueryOption("expand", "fields(select=MultipleLookupColumn)"))
};
ListItem item = await graphClient.Sites[siteId].Drive.Items[itemId].ListItem.Request(queryOptions).GetAsync();
它正确显示了列值,包括自定义列,但多查找列除外。查找列显示在 item.Fields.AdditionalData
中,但它始终是一个空数组,即使在 Sharepoint Online 上为其分配了值也是如此。但是,如果我将查找列更改为不允许使用多个值,它会正确显示该值。
如何使用图表 API 获取多查找列的值?还是不支持多个查找值?
我发现这是一个权限问题。我设置了 Files.ReadWrite.All
权限,这足以读取 Sharepoint Online 中的文档库和文件,包括具有单个值的查找列。但不幸的是,没有具有多个值的查找列。添加 Sites.Read.All
权限后,多查找值数组不再为空。
我有一个允许每个项目有多个值的查找列。我使用 Microsoft Graph .NET SDK 检索列表项的所有列值:
ListItem item = await graphClient.Sites[siteId].Drive.Items[itemId].ListItem.Fields.Request().GetAsync();
我还尝试专门检索查找列:
var queryOptions = new List<QueryOption>()
{
new QueryOption("expand", "fields(select=MultipleLookupColumn)"))
};
ListItem item = await graphClient.Sites[siteId].Drive.Items[itemId].ListItem.Request(queryOptions).GetAsync();
它正确显示了列值,包括自定义列,但多查找列除外。查找列显示在 item.Fields.AdditionalData
中,但它始终是一个空数组,即使在 Sharepoint Online 上为其分配了值也是如此。但是,如果我将查找列更改为不允许使用多个值,它会正确显示该值。
如何使用图表 API 获取多查找列的值?还是不支持多个查找值?
我发现这是一个权限问题。我设置了 Files.ReadWrite.All
权限,这足以读取 Sharepoint Online 中的文档库和文件,包括具有单个值的查找列。但不幸的是,没有具有多个值的查找列。添加 Sites.Read.All
权限后,多查找值数组不再为空。