微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

zapier performResume 步骤没有等待/运行

如何解决zapier performResume 步骤没有等待/运行

我正在关注 zapier 中有关 callbackUrl https://platform.zapier.com/cli_docs/docs#zgeneratecallbackurl 的文档,但是似乎无法运行 performResume 步骤。我基于此集成创建的 zap 似乎也不会等待 callbackUrl 被命中。

const createScreenshot = (z,bundle) => {
  const callbackUrl = z.generateCallbackUrl();
  const promise = z.request({
    url: 'https://myapi.com/v1/render',method: 'POST',params: {},headers: {
      'Content-Type': 'application/json',Accept: 'application/json',},body: {
      ...bundle.inputData,webhook_url: callbackUrl
    },removeMissingValuesFrom: {},});
  z.console.log("Returning from perform / createScreenshot");
  return promise.then((response) => ({ ...response.data,waiting_for: "performResume" }));
const onScreenshotFinished = (z,bundle) => {
  z.console.log("In performResume / onScreenshotFinished",bundle.cleanedRequest);
  const responseBody = bundle.cleanedRequest;
  let screenshotUrl;

  if (responseBody.event === "render.succeeded") {
    z.console.log("render was processed successfully",responseBody);
    screenshotUrl = responseBody.result.renderUrl;
    return { screenshotUrl,...responseBody };
  }

  z.console.log("render was not processed",responseBody);
  throw z.errors.Error("Screenshot was not successful");
}
module.exports = {
  operation: {
    perform: createScreenshot,performResume: onScreenshotFinished,...
  }
}

解决方法

我们在 GitHub (zapier/zapier-platform#398) 上讨论了这个问题(及其解决方案),但要为 SO 读者总结:

在设置可恢复的 Zap 时,编辑器使用 sample 填充回调中的数据。在设置过程中不会发生实际的等待。一旦 zap 上线,它就会像往常一样工作。

所以,要实现:

  • perform 应返回与“resume”网络钩子发送的数据相匹配的样本数据
  • performSubscribe 可以读取该数据并正常运行

有关详细信息,请参阅 GH 问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。