我可以进行图形调用以获取列表中的所有项目但是我们如何获取/过滤列表文件夹中的项目?
答案 0 :(得分:0)
这似乎不是实现它的直接方式。如果我使用下面的过滤器,我会收到错误“字段'FileDirRef'不能在过滤器或orderby中引用,因为它没有被索引。”。
&filter=fields/FileDirRef eq '/sites/lz/Lists/cl/folder'
作为一种变通方法,我们可以获取列表项,然后根据代码中的 FileDirRef 字段过滤项目。
https://graph.microsoft.com/v1.0/sites/lz.sharepoint.com,{Site GUID},{Web GUID}/lists/{List GUID}/items?expand=fields(select=id,Title,FileDirRef)
答案 1 :(得分:0)
您可以使用以下查询来检索子文件夹下的项目:
https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/drive/root:/{folder-url}:/children
以下是使用Microsoft Graph .NET Client Library的示例:
var folderUrl = "/Archive/2018"; //relative path
var site = graphClient.Sites[siteId];
var list = site.Lists[listId];
var items = await list.Drive.Root.ItemWithPath(folderUrl).Children.Request().Expand("ListItem").GetAsync();
//print list item details
foreach (var item in items)
{
Console.WriteLine(item.ListItem.WebUrl);
}