Microsoft 图形 API 使用筛选器获取共享点列表



我正在尝试过滤共享点列表,但语义似乎与默认语义不同。

我已经尝试的是(带$和不带;单引号和没有引号(:

https://graph.microsoft.com/v1.0/sites/root/lists?filter=name eq 'Something'
https://graph.microsoft.com/v1.0/sites/root/lists?$filter=name eq 'Something'
https://graph.microsoft.com/v1.0/sites/root/lists?filter=id eq 'CFFF1460-B4D7-419C-A921-61B5279BBDDC'
https://graph.microsoft.com/v1.0/sites/root/lists?$filter=id eq 'CFFF1460-B4D7-419C-A921-61B5279BBDDC'
https://graph.microsoft.com/v1.0/sites/root/lists?filter=id eq CFFF1460-B4D7-419C-A921-61B5279BBDDC
https://graph.microsoft.com/v1.0/sites/root/lists?$filter=id eq CFFF1460-B4D7-419C-A921-61B5279BBDDC

但是所有内容都会返回一个包含所有列表的数组,而不仅仅是与所需条件匹配的子集。

那么如何筛选共享点列表呢?

如果您知道要筛选并获得响应的列表的 ID。

YOu 可以运行这样的图形 API 查询。

https://graph.microsoft.com/v1.0/sites/root/lists/{list-id}

这将为您提供有关该列表的数据。

如果您需要有关此的更多详细信息,请告诉我。

不幸的是(就像 Marc 在评论中已经提到的那样(,无法对 SharePoint 列表进行过滤。如果需要,必须在客户端执行此操作,方法是读取没有任何筛选器的列表,并对收到的集合进行 LINQ 语句(或类似内容(。请注意,(与 Graph 中的所有集合一样(您并不总是一次获得所有元素。您可能必须从最后一个响应调用下一个链接请求,并遍历更多请求和元素,直到找到所需的内容。

因此,当您找到所需的内容时,最好将列表 ID 存储在内存缓存或 Redis 缓存中,以便下次更快地查找,您需要此信息。

最新更新