返回文件的 Zapier 触发器:z.dehydrateFile 调用的格式是啥?
Posted
技术标签:
【中文标题】返回文件的 Zapier 触发器:z.dehydrateFile 调用的格式是啥?【英文标题】:Zapier trigger that returns file: what is the format of the z.dehydrateFile call?返回文件的 Zapier 触发器:z.dehydrateFile 调用的格式是什么? 【发布时间】:2018-10-11 01:05:30 【问题描述】:我正在编写一个返回文件的 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 示例?
【问题讨论】:
当你说你不是在javacsript中编写触发器时,你在写什么?该文档描述了一个使用 javascript 脚本的网络构建器应用程序。我不相信还有其他选择。 无论哪种方式,您的触发器端点确实返回常规文件。 Zapier 完成了将普通文件变成脱水文件的繁重工作。您无需采取任何特殊措施。 我正在用 Django/python 编写它。我正在使用 web builder 来配置所有内容。我的后端只需要公开适当的 API。 我希望看到z.dehydrateFile('https://yoursite.com/files/download/' + record.id)
返回的 JSON 示例。
太棒了,很高兴你得到它!
【参考方案1】:
如果您想将触发器中的文件返回给 Zapier,您需要将 Zapier 可以访问该文件的 URL 作为名为 'file'
的记录返回。
如果您希望您的触发器返回可以在您的网络服务器上找到的“converted_csv_file.xlsx”,您的触发器将返回以下 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
。
【讨论】:
以上是关于返回文件的 Zapier 触发器:z.dehydrateFile 调用的格式是啥?的主要内容,如果未能解决你的问题,请参考以下文章