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

Microsoft Graph SDK是否支持Planner Tasks过滤?API过滤无效如何解决?

解决Planner API获取计划任务时$filter参数无效的问题

问题原因

Microsoft Graph Planner的/planner/plans/{plan-id}/tasks端点不支持$filter查询参数,因此传入该参数后会被直接忽略,接口将返回指定计划下的全部任务。这是API的设计限制,与参数格式无关。

可行解决方案

方案1:使用全局任务查询端点结合多条件过滤

调用支持$filter的/planner/tasks全局端点,同时指定计划ID和过滤条件,示例如下:

  • 按标题包含指定文本过滤:
    v1.0/planner/tasks?$filter=contains(title, 'sample') and planId eq '{plan-id}'
    
  • 按截止日期范围过滤:
    v1.0/planner/tasks?$filter=dueDateTime ge 2025-07-03T21:00:00.000Z and dueDateTime le 2025-07-16T20:59:59.999Z and planId eq '{plan-id}'
    

注意:该端点存在分页限制,若结果超过单页数量,需通过响应中的@odata.nextLink迭代获取全部符合条件的任务。

方案2:客户端侧本地过滤

如果目标计划下的任务总量较小,可先调用/planner/plans/{plan-id}/tasks获取全部任务,再在应用代码中完成过滤逻辑:

  • 标题过滤:遍历任务列表,筛选出标题包含目标文本的项
  • 日期范围过滤:遍历任务列表,筛选出截止日期落在指定区间内的项

额外注意事项

  • 确保使用Microsoft Graph v1.0版本(beta版本的API支持情况可能不稳定,优先使用正式版)
  • 确认应用已获取对应权限(如Group.Read.All、Tasks.ReadWrite等,具体权限需根据操作场景确定)

内容的提问来源于stack exchange,提问作者23W

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:05:01