使用OData查询Microsoft Graph的alert_v2资源时集合属性过滤报错求助
解决Microsoft Graph API alert_v2的OData筛选器错误
在查询alert_v2资源时,构造集合属性的OData筛选器一直出现「Invalid filter clause」错误,使用lambda运算符的原始查询语句如下:
(fileEvidence/any(query1:tolower(query1/fileDetails/fileName) eq 'test.txt')) and (createdDateTime ge 2023-04-25T17:19:28.918Z and createdDateTime le 2023-04-25T17:24:28.918Z))
错误修正步骤:
- 移除冗余括号:语句末尾多了一个右括号,这是触发语法错误的直接原因。
- 日期值添加单引号:OData规范要求日期时间字面量必须用单引号包裹,否则会被判定为无效语法。
修正后的完整筛选语句:
(fileEvidence/any(query1:tolower(query1/fileDetails/fileName) eq 'test.txt')) and (createdDateTime ge '2023-04-25T17:19:28.918Z' and createdDateTime le '2023-04-25T17:24:28.918Z')
额外排查点:
- 确认调用API的账号拥有访问alert_v2资源的对应安全权限。
- 验证
fileEvidence/fileDetails/fileName属性是否支持OData筛选:部分嵌套集合属性可能不允许在筛选器中直接使用,若修正后仍报错,需检查该属性的筛选支持性。
内容的提问来源于stack exchange,提问作者saz
相关产品推荐
相关产品推荐

