Power Automate中调用另一个流的HTTP请求无法传递Body问题
以下是针对你遇到的问题的排查和解决步骤:
检查流A的HTTP请求Body格式
确保流A中发送的Body是原生JSON对象,而非字符串化后的内容。比如用Compose动作构造JSON后,直接将Compose的输出作为HTTP请求的Body,不要用string()函数转换——手动拼接或字符串化的JSON容易出现格式错误,导致流B无法解析。验证流A的请求头配置
除了Content-Type: application/json和Accept: application/json,检查是否存在多余的请求头(比如自动添加的Expect: 100-continue),尝试移除这类非必要头再测试。确认流B触发器的JSON Schema
流B的When HTTP Request Is Received触发器必须配置匹配的JSON Schema才能正确解析Body。你可以用Postman成功调用时的请求Body,通过触发器的「Use sample payload to generate schema」功能生成正确的Schema,避免因Schema不匹配导致Body被忽略。查看流A的运行日志细节
打开流A的运行历史,查看HTTP请求动作的实际发送内容,确认Body是否与预期一致(比如是否存在动态内容引用错误、空值传递的情况)。同时检查流B返回的响应详情,是否有隐藏的错误提示。尝试使用「HTTP with Azure AD」动作
如果两个流在同一租户下,改用「HTTP with Azure AD」动作调用流B。这个动作会自动处理认证和请求格式,避免普通HTTP动作的兼容性问题,确保Body正确传递。测试极简版流
创建两个简化流:流A仅包含固定Body的HTTP请求,流B仅包含接收触发和记录Body到日志的动作。如果简化版能正常传递Body,说明原流中其他动作干扰了Body的传递,逐步排查添加的动作即可。
内容的提问来源于stack exchange,提问作者Christopher Page

