You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Graph API列表项筛选:如何按子文件夹过滤指定自定义列文档

问题解决方法

错误原因

你之前使用parentReference/Id eq 'xxxxxxx'筛选报错,是因为Graph API的列表items端点不支持直接通过parentReference/Id来筛选父文件夹。列表项的parentReference属性对应的是DriveItem的引用,而非列表项层面的父文件夹ID,直接在$filter中使用该路径会触发处理异常。

可行方案

方案1:利用列表项的parentFolderId属性筛选

SharePoint列表中的每个项(包括文件夹)都自带parentFolderId属性,指向其父文件夹对应的列表项ID。你可以按以下步骤操作:

  1. 先获取目标子文件夹Folder_B的列表项ID:
    GET sites/<site_id>/lists/<list_id>/items?$filter=fields/Title eq 'Folder_B'&select=id
    
  2. 使用获取到的ID,结合自定义列筛选条件查询:
    GET sites/<site_id>/lists/<list_id>/items?$expand=fields&$filter=fields/Sent eq null and parentFolderId eq '<folder_b_list_item_id>'
    

方案2:通过Drive端点直接查询文件夹下的项

SharePoint文档库列表对应一个Drive,你可以直接定位到Folder_B的DriveItem,再查询其下的子项:

  1. 获取Folder_B的DriveItem ID(可以通过列表项的driveItem/id属性获取):
    GET sites/<site_id>/lists/<list_id>/items?$filter=fields/Title eq 'Folder_B'&select=driveItem/id
    
  2. 查询该文件夹下符合条件的文档(<drive_id>可通过GET sites/<site_id>/lists/<list_id>/drive获取):
    GET sites/<site_id>/drives/<drive_id>/items/<folder_b_drive_id>/children?$expand=fields&$filter=fields/Sent eq null
    

内容的提问来源于stack exchange,提问作者Anirudh Sundaram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:01:00