我正在尝试使用以下流程在Zapier上实现自动化:
file
键,其值是某个PDF的 base64字符串,因此类型为str
file
,将base64字符串解码为bytes
,以获取PDF的真实有效内容,并说一个名为file_bytes
的变量file_bytes
,并将其上传到保管箱我自己对解码器进行了编码(第2点),并测试了它在我的本地系统上是否可以正常工作。
问题在于Dropbox(第3点)仅接收二进制,而Python(第2点)无法传递除JSON可序列化之外的值。这是Zapier的明显限制:
output
字典或词典列表,将成为此代码的“返回值”。如果愿意,您可以明确地早日返回。这必须是JSON可序列化的!
...
从这个站点上的其他问题中我可以得到的最接近的是这两个,但这并没有给我带来任何运气。
...
将base64字符串解码为bytes
的代码如下:
file_bytes = base64.b64decode(input_data['file'])
我已经做了:
file_bytes
进行输出,如下所示:output = [{'file': input_data['file_bytes']}]}]
但是它给了我这必须是JSON可序列化的!
file_bytes
:output = [{'file': str(input_data['file_bytes'])}]
已执行上传至保管箱,但文件内容已损坏。 (当然是啊)
file_bytes
编码将latin-1
传递为解码字符串:output = [{'file': input_data['file_bytes'].decode('latin-1')}]
将 do 上传到保管箱,也可以打开PDF,即使该页具有与原始PDF相同的页码,但全部为空白(白色,没有内容)
...
那么,这种功能在Zapier平台中是否真正可见?或者甚至从一开始我就已经死胡同了?