从Twilio Flow通过Sheety API向GoogleSheet发POST请求失败求助
我的Twilio Flow(WhatsApp聊天机器人)运行正常,但无法通过HTTP POST请求将对话结果提交到Google Sheet。我确认请求体的JSON结构逻辑正确(datum是工作表名称,列名均为小写),且能在Pycharm中直接调用API成功提交,但在Twilio Flow中执行就报错。
Twilio返回的错误信息:
{ "errors": [ { "detail": "Unexpected token ' in JSON at position 1" } ] }
排查与解决步骤
强制使用双引号编写JSON:JSON规范要求所有键名、字符串值必须用双引号包裹,绝对不能用单引号。检查Twilio Flow的HTTP请求体,确保所有引号都是双引号,包括包裹Twilio变量的部分(示例:
"username": "{{widgets.user_input.value}}")。验证变量替换后的实际JSON内容:在Flow中添加「Set Variables」组件,把待发送的JSON内容赋值给一个变量,再用「Send Message」组件将该变量内容发送给自己,查看变量替换后的JSON是否存在未闭合引号、多余单引号或其他语法问题。
确认请求头配置:确保HTTP请求的
Content-Type头设置为application/json,如果缺少这个头,服务器无法正确识别请求体格式,会触发解析错误。避免手动拼接JSON的语法疏漏:手动编写请求体时,注意键值对之间的逗号、嵌套结构的括号是否完整。示例正确格式:
{ "datum": { "email": "{{widgets.email_input.value}}", "phone": "{{widgets.phone_input.value}}" } }测试简化请求体:先发送无变量的固定JSON(比如
{"datum": {"test": "demo_value"}}),如果能成功提交,再逐步添加Twilio变量,定位是哪个变量替换后破坏了JSON结构。
内容的提问来源于stack exchange,提问作者Vinny

