Zapier Cli - 应用程序在 Cli 中运行良好,但在 Zapier UI 中无法正常运行

Posted

技术标签:

【中文标题】Zapier Cli - 应用程序在 Cli 中运行良好,但在 Zapier UI 中无法正常运行【英文标题】:Zapier Cli - App works fine in Cli but not in Zapier UI 【发布时间】:2020-06-12 06:31:56 【问题描述】:

我在 Zapier Cli 中创建了一个名为 Fancyhands API 的应用程序。在 Cli 中一切正常,因为我从 API 获得了正确的响应,如下所示。

但是,当我将此应用程序推送到 Zapier 并尝试使用它时。 API 给出错误,即其中一个参数的格式不正确。

但是,情况并非如此,因为我从 CLI 和 UI 发送相同的参数。看起来 Zapier UI 正在为参数添加一些额外的编码。请建议这里发生了什么?

【问题讨论】:

您需要以 API 接受的格式格式化日期。 我已经按照这里的描述做了:fancyhands.com/api/explorer#/explorer/fancyhands.call.Outgoing 你在哪里格式化日期?我的意思是在 Zap UI 或您的 APP 编码中? 它只是字符串,如图所示。 在发送到 api 之前,您需要在代码中对其进行格式化 【参考方案1】:

根本问题是,fancyhands 期望 call_window_start 参数的 UTC 时间戳(如 2020-02-29T11:00:00Z)。另一方面,Zapier 将 datetime 字段作为 TZ 感知 (2020-03-02T05:09:08-05:00) 发送给 bundle.inputData 中的开发人员。

因此,解决方案是从传入的时间戳中远程获取时区数据。也许像new Date(bundle.inputData.call_window_start).toISOString()

【讨论】:

谢谢,是的,这也是我怀疑正在应用某种操作(又名编码)的原因。我将 call_window_start 类型更改为 string 而不是 datetime 以使其工作。【参考方案2】:

在您的图片中,日期时间字符串有一次在末尾缺少Z,而另一次则缺少Z。 尝试添加/删除Z

如果这不起作用,则 HTTP 标头可能有问题。在本地和 Zapier 上,您可能会在其他时间将内容作为 json 作为字符串发送。 确保它也与 CLI 匹配。

【讨论】:

Z 出现在响应中。我之前尝试删除 Z 并发送请求,但仍然是同样的问题。我正在从 cli 发送 "Content-Type": "application/x-www-form-urlencoded" 标头,该标头有效。其他人不能从 cli 工作。此外,如果我删除 call_window_start,UI 可以与其他参数一起正常工作。

以上是关于Zapier Cli - 应用程序在 Cli 中运行良好,但在 Zapier UI 中无法正常运行的主要内容,如果未能解决你的问题,请参考以下文章

Zapier CLI:当依赖字段更改时,如何清除输入字段的值?

Zapier CLI - 在资源中我如何提及 UPDATE 方法

Zapier CLI,在 inputFields 上使用选项在创建新 Zap 时不会在表单中显示

在 expo 中运行使用 react-native-cli 创建的 react-native 应用程序

在 CLI 中运行时,Jest 测试不起作用

Zapier CLI:如何从运行 Zaps 中检索 zap_meta_human_now ISO 8601 时间戳