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

使用Power Automate获取日历事件:Filter Query中用toupper转换主题报错

Power Automate日历事件ODATA大小写不敏感过滤问题解决

错误原因分析

  1. 无效的ODATA过滤器参数:你当前的$filter中contains的第二个参数是空字符串'',ODATA规范不允许contains的搜索值为空,这是触发“无效节点”错误的直接原因。
  2. Power Automate与ODATA函数的混淆:如果在设置过滤器时误启用Power Automate的表达式模式解析toupper,会导致Power Automate执行自身的toUpper函数,而非将ODATA的toupper函数传递给Graph API,从而破坏过滤器语法。

解决方案

1. 基础固定字符串过滤

直接在“获取日历事件”动作的高级选项的$filter文本框中填写ODATA语法,确保不启用Power Automate的表达式模式:

contains(toupper(subject), '你的目标字符串(大写)')

例如,要匹配主题包含“项目同步”的事件,需将目标字符串转大写后写入:

contains(toupper(subject), '项目同步')

2. 动态变量过滤

如果需要动态传入目标字符串,使用Power Automate表达式拼接ODATA过滤器,注意转义单引号并确保ODATA的toupper函数被正确传递:

concat('contains(toupper(subject), ''', toUpper(variables('目标字符串变量')), ''')')
  • 用toUpper(variables('目标字符串变量'))将动态内容转大写,保证匹配的大小写一致性
  • 用两个单引号''转义字符串中的单引号,避免Power Automate解析错误

3. 验证正确的输入参数示例

修正后的输入参数应类似:

{
"calendarId": "--",
"startDateTimeUtc": "2024-09-06T15:11:53.4906978Z",
"endDateTimeUtc": "2025-04-06T15:11:53.5200459Z",
"$filter": "contains(toupper(subject), '项目同步')",
"$orderby": "Start/DateTime"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 21:19:52