如何使用Microsoft Graph获取文件夹中的sharepoint项列表?

时间:2018-03-07 20:55:17

标签: microsoft-graph sharepoint-online

我可以进行图形调用以获取列表中的所有项目但是我们如何获取/过滤列表文件夹中的项目?

2 个答案:

答案 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);
}