Power Automate用utcNow()更新SharePoint日期字段时HTTP Post报错
问题原因
SharePoint的日期时间字段要求值为ISO 8601格式的字符串(如2023-05-15T12:34:56Z),且在JSON结构中必须用引号包裹。你遇到的错误是因为utcNow()的默认输出格式(如05-15-2023)未被正确处理:如果没有用引号包裹,JSON会把05-15-2023解析成减法运算(05-15-2023=-2033),系统判定这不是合法的日期值,从而抛出"Invalid JSON"错误。
解决方法
方法1:直接使用动态内容的utcNow()
在Power Automate的「更新项」动作中,找到SetToCC字段,直接从动态内容面板选择utcNow(),不要手动输入字符串。Power Automate会自动处理格式转换和JSON引号包裹,确保值符合SharePoint的要求。
方法2:用formatDateTime指定ISO格式
如果需要自定义时间格式,使用表达式生成标准ISO 8601格式的字符串:
formatDateTime(utcNow(), 'yyyy-MM-ddTHH:mm:ssZ')
将这个表达式直接填入SetToCC字段的输入框中,系统会自动将其作为合法的字符串值传递给SharePoint,避免JSON解析错误。
方法3:检查字段赋值方式
确保你没有在字段中手动输入类似utcNow()的文本(未通过动态内容选择),这种情况会导致系统把它当成普通字符串处理,格式不符合要求。必须通过动态内容或表达式面板插入utcNow()。
内容的提问来源于stack exchange,提问作者Rick Savoy
相关产品推荐
相关产品推荐

