You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADF数据流调用POST请求API失败,寻求排查方案

问题排查:ADF数据流POST请求BambooHR API报400错误

已知信息

  • Postman中可正常执行的BambooHR自定义报表POST请求,在ADF数据流中返回400错误
  • 同API的GET端点在ADF中可正常工作,排除API本身或网络连通性问题
  • 已尝试移除并重新添加请求头、查询参数,问题未解决

Postman使用的请求体

{
    "title": "This is my report",
    "fields": [
        "employeeNumber",
        "preferredName",
        "fullName2",
        "firstName",
        "lastName"
    ]
}

ADF返回的错误信息

at Source 'BAMBOOHRAPI': Failure to read most recent page request: DF-REST_001 - Error response from server: Some(), Status code: 400. Please check your request url and body. (url:https://api.bamboohr.com/api/gateway.php/<masked_value>/v1/reports/custom?format=JSON,request body: Some({"title":"BAmboo_employee_details","fields":["employeeNumber","fullName2","firstName","lastName"]}), request method: POST)

排查方向及解决方案

1. 核对请求体内容与格式

  • 对比ADF与Postman的请求体:错误信息显示ADF的请求体缺少preferredName字段,而Postman中包含该字段,确认是否是ADF配置时遗漏,添加后重试
  • 检查JSON格式正确性:确保ADF中输入的请求体是标准JSON,无多余逗号、引号不匹配或错误转义(不要用单引号包裹字符串,不要错误转义双引号)

2. 确认Content-Type请求头

BambooHR的POST接口要求请求体为JSON格式,必须设置Content-Type: application/json:

  • 检查ADF数据流的REST源请求头配置,确认是否包含该头
  • 若未添加,手动添加后测试

3. 调整查询参数格式

错误URL中的查询参数为format=JSON,尝试改为小写format=json:

  • 部分API对参数大小写敏感,Postman可能兼容,但ADF的请求可能触发严格校验

4. 验证认证配置

虽然GET请求正常,但POST请求的认证逻辑可能存在差异:

  • 确认ADF的REST数据源/数据集使用的Basic Auth配置正确:用户名填BambooHR的API密钥,密码留空
  • 检查数据流中的源是否继承了数据集的认证设置,未被单独修改

5. 禁用分页设置

BambooHR的request-custom-report接口为单次请求接口,无需分页:

  • 在ADF数据流的REST源设置中,将分页选项设为None,避免分页逻辑干扰POST请求

6. 对比请求详情

  • 使用Postman的「代码生成」功能导出cURL命令,与ADF的请求日志对比,排查请求头、URL、请求体的细微差异
  • 开启ADF的诊断日志,查看完整的请求与响应详情,定位具体错误原因

内容的提问来源于stack exchange,提问作者Manju Basavantapura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:43:26