返回文件的Zapier触发器:z.dehydrateFile调用的格式是什么?

时间:2018-04-30 22:14:33

标签: zapier zapier-cli

我正在写一个Zapier触发器,它将返回一个文件。我知道我的触发器端点不会返回文件的内容,而是返回指向它的指针。

所有示例文档都显示了JavaScript example

var Zap = {
  your_trigger_post_poll: function(bundle) {
    var records = z.JSON.parse(bundle.response.content);
    return _.map(records, function(record) {
      // if you just do url, we'll include any standard authentication headers
      record.file = z.dehydrateFile('https://yoursite.com/files/download/' + record.id);
      return record;
    });
  }
}

我没有在JavaScript中编写触发器。我想以正确的格式返回数据,但我找不到任何应该是什么的例子。

z.dehydrateFile的输出是什么?你能提供一个JSON示例吗?

1 个答案:

答案 0 :(得分:2)

如果要将触发器的文件返回给Zapier,则需要返回Zapier可以将该文件作为名为'file'的记录访问的URL。

如果您希望触发器返回" converted_csv_file.xlsx"可以在您的Web服务器上找到,您的触发器将返回以下JSON:

{
  "file": "https://goodgrids.com/converted_spreadsheets/converted_csv_file.xlsx"
}

请注意,网址很重要。 URL的最后一部分将用作文件名。这在提供静态文件时是正常的。但是,如果您的服务动态生成文件,请确保将文件名作为URL的一部分,即使用于访问该文件的实际密钥位于URL中的其他位置。

{
  "file": "https://goodgrids.com/converted_spreadsheets/9234659832475982372345876/converted_csv_file.xlsx"
}

对Zapier的建议:请查看读取文件时返回的Content-Disposition标头,看它是否包含filename