Power Automate桌面版传递JSON数据遇格式错误,求解决方法
问题描述
我有一段可正常运行的清理后cURL查询:
curl -X POST https://adb-<workspaceId>.azuredatabricks.net/api/2.0/sql/statements/ \ -H "Authorization: Bearer <myPersonalAccessToken>" \ -H "Content-Type: application/json" \ -d '{ "warehouse_id": "<myWareHouseId>", "catalog": "hive_metastore", "schema": "dev.bronze", "statement": "SELECT * FROM dev.bronze.shawn_test_table;" }'
但将其配置到Power Automate桌面版的「调用Web服务」操作时,收到错误提示:
{"error_code":"MALFORMED_REQUEST","message":"Invalid JSON given in the body of the request - failed to parse given JSON"}
请问操作中哪里出错了?
问题排查与解决
针对JSON解析失败的错误,结合Power Automate桌面版的特性,核心问题大概率出在请求体的格式处理上,以下是具体排查点及修正方案:
移除冗余转义字符:cURL中使用的
\n和\"是终端环境下的转义语法,Power Automate桌面版的请求体输入不需要这些转义。直接使用纯净的JSON格式作为请求体:{ "warehouse_id": "<myWareHouseId>", "catalog": "hive_metastore", "schema": "dev.bronze", "statement": "SELECT * FROM dev.bronze.shawn_test_table;" }校验请求头配置:确认已正确添加
Content-Type: application/json请求头,Authorization头严格遵循Bearer <个人访问令牌>格式,无多余引号或空格。检查占位符替换:确保
<workspaceId>、<myPersonalAccessToken>、<myWareHouseId>已替换为实际有效值,替换后内容未引入额外引号或特殊字符(令牌含特殊字符时无需手动转义)。确认输入模式:在「调用Web服务」操作中,将请求体输入模式设为「原始」,避免因选择「表单数据」等模式导致自动编码破坏JSON结构。
内容的提问来源于stack exchange,提问作者Shawn Eary
相关产品推荐
相关产品推荐

