【问题标题】:Zapier line item manipulation with python使用 python 进行 Zapier 订单项操作
【发布时间】:2018-08-23 13:44:01
【问题描述】:

我的 zap 运行来自 Intercom 的 GET,它将所有消息放在一个 convo 到一个 line-item 字段中。

我想将整个订单项字段更改为一个字符串,其中没有 zapier 在连接所有值时放入的所有逗号。所以我可以把对话写成其他地方的文字笔记。

zapier 的某个人建议我应该使用加入代码来执行此操作,但他们当然不允许给我实际的代码。

输入:

input_data = {
    "values": "<p>Ok, I see your request. Give me just a minute to get it set up </p>,<p>ok</p>,<p>You should see the email shortly. When you get logged in, let me know if you have any other questions, I'm happy to help </p>,<p>cool</p>,<p>More Pipedrive testing</p>"
}

我尝试了以下代码:

L = input_data['values']  
return {" ".join(str(x) for x in L)}

但出现以下错误:

TypeError(repr(o) + " is not JSON serializable") 
TypeError: set(['< p > H i n e w b i e < / p >']) is not JSON serializable

【问题讨论】:

  • 在缩进代码之前使用换行符以使其看起来正确。
  • 您能否发布一些示例输入和您遇到的一些错误?
  • 错误:回溯(最后一次调用):文件“/usr/lib64/python2.7/json/__init__.py”,第 251 行,转储中的 sort_keys=sort_keys,**kw)。编码(obj)文件“/usr/lib64/python2.7/json/encoder.py”,第 207 行,编码块 = self.iterencode(o,_one_shot=True)文件“/usr/lib64/python2.7/ json/encoder.py”,第 270 行,在 iterencode 中返回 _iterencode(o, 0) 文件“/var/runtime/awslambda/bootstrap.py”,第 110 行,在 decimal_serializer 中引发 TypeError(repr(o) + “不是 JSON serializable") TypeError: set(['

    Hinewbie

    ']) is not JSON serializable
  • 输入数据示例:

    好的,我看到了您的请求。请给我一点时间来设置它

    好的

    您应该很快就会看到这封电子邮件。登录后,如果您有任何其他问题,请告诉我,我很乐意为您提供帮助

    更多 Pipedrive 测试

  • 输入数据是来自支持工具的对话。作为“行项目”提供给 zapier,Zapier 将这些逗号放在数组中的每个值之间。我试图摆脱逗号(通过在此代码中将行项目“类型”更改为常规字符串),并且只返回行项目的最后五个值。

标签: python zapier


【解决方案1】:

酷!所以你的问题是你从你的代码步骤中返回了一个 python set,Zapier 不能把它变成 json。

发生这种情况是因为卷曲之间有一个字符串。见:

>>> {'asdf'}
set(['asdf'])

您的输入是一个包含 html 的大字符串。看来您可以在&lt;/p&gt;,&lt;p&gt; 上拆分并在' ' 上加入。

无论哪种情况,您都需要将输出作为值返回:

>>> {'result': " ".join(str(x) for x in L.split('</p>,<p>'))}
{'result': "<p>Ok, I see your request. Give me just a minute to get it set up  ok You should see the email shortly. When you get logged in, let me know if you have any other questions, I'm happy to help  cool More Pipedrive testing</p>"}

如果您愿意,您还可以提取前导和尾随 &lt;p&gt; 标记。

希望有帮助!

【讨论】:

  • 非常感谢。
  • 没问题!如果此答案解决了您的问题,请确保对其进行投票并将其选为正确 (info)
猜你喜欢
  • 2019-12-09
  • 2019-05-12
  • 1970-01-01
  • 2019-04-18
  • 2012-10-27
  • 2013-06-04
  • 2020-11-08
  • 2019-08-28
  • 1970-01-01
相关资源
最近更新 更多