1

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

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

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 示例吗?

4

1 回答 1

2

如果你想从你的触发器返回一个文件给 Zapier,你需要返回一个 URL,Zapier 可以访问该文件作为一个名为'file'.

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

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

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

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

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

于 2018-05-03T20:27:39.853 回答