Graph API的Collection查询:如何过滤集合内的项目
Graph API使用Collection内数值过滤库数据的方法
核心实现逻辑
借助Graph API的$filter查询参数搭配in运算符,将Collection中预存的过滤值作为匹配条件,筛选库内符合要求的项,直接返回对应的元数据内容。
具体操作步骤
- 先从你存储过滤值的Collection中提取目标过滤字段的所有有效值,整理为数组格式,字符串类型的值需要用单引号包裹。
- 调用对应库的Graph API查询端点,在
$filter参数中指定需要匹配的元数据字段,用in关联整理好的过滤值数组即可。
调用示例
假设你从Collection中提取到的过滤值为部门列表:["产品部", "研发部", "运营部"],需要过滤SharePoint文档库中Department元数据字段匹配上述值的所有项,请求写法如下:
GET https://graph.microsoft.com/v1.0/sites/{你的站点ID}/lists/{你的文档库ID}/items?$expand=fields&$filter=fields/Department in ('产品部', '研发部', '运营部')
说明:请求中的
$expand=fields参数用于返回库项的完整元数据内容,你需要展示的Metadata都包含在返回结果的fields属性中。
注意事项
- 单次
$filter查询的in运算符最多支持1000个过滤值,若Collection中的过滤值超过该数量,需拆分成分批查询再合并结果。 - 若过滤值包含单引号等特殊字符,需要把单引号转义为两个连续单引号
'',避免查询语法报错。 - 如果你使用的是Dataverse、Azure AD等其他类型的Collection,仅需要调整元数据字段的引用路径即可,核心的
in过滤逻辑通用。
内容的提问来源于stack exchange,提问作者Suchitra Nandabalan
相关产品推荐
相关产品推荐

