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

在Foundry中复刻Python POST请求遇403错误,如何正确传API密钥?

问题

原本可通过Python发送带x-api-key请求头的POST请求访问https://api-query.de/queryapi/v2/searchingjson/name端点提取JSON数据,但在Foundry中创建自定义数据连接及同步任务时,返回403 Forbidden错误,怀疑API密钥传递方式有误,尝试在同步中添加未加密的可选API密钥请求头后无效。

Python请求代码

headers = {
    "x-api-key": "xxx",
}

json_data = {
    "limit": 2000,
    "timePeriod": 24,
}
response = requests.post('https://api-query.de/queryapi/v2/searchingjson/name', 
        headers=headers, json=json_data)

Foundry自定义数据连接YAML配置

type: magritte-rest-v2
sourceMap:
  my_api:
    type: magritte-rest-auth-call-source
    url: https://api-query.de/
    headers:
      x-api-key: '{{x_api_key}}'
    authCalls:
      - type: magritte-rest-call
        path: /queryapi/v2/searchingjson/name
        method: POST
        extractor:
          - type: magritte-rest-json-extractor

错误信息

ServiceException: CUSTOM_CLIENT (MagritteRestSource:InvalidResponseStatus): {responseCode=403, validCodes=[200, 201, 204], response={"message":"Forbidden"}, filename=[hidden]#2023-01-20T11_06_14.182265Z}

可行解决办法

  • 加密存储并正确引用API密钥:Foundry中敏感凭证不能用未加密方式传递,需先将x_api_key存入Foundry凭证服务,确保配置里的{{x_api_key}}能关联到加密存储的密钥。
  • 补充POST请求的JSON请求体:当前YAML配置未包含Python请求里的json_data参数,这会导致请求不完整触发403。需在magritte-rest-call节点下添加请求体配置:
    body: |
      {
        "limit": 2000,
        "timePeriod": 24
      }
    
  • 调整请求头的配置位置:尝试将x-api-key头从全局headers移到具体的authCalls节点下,确保请求发送时能正确携带:
    authCalls:
      - type: magritte-rest-call
        path: /queryapi/v2/searchingjson/name
        method: POST
        headers:
          x-api-key: '{{x_api_key}}'
        body: |
          {
            "limit": 2000,
            "timePeriod": 24
          }
        extractor:
          - type: magritte-rest-json-extractor
    
  • 检查请求完整性:用Foundry的「测试连接」功能查看实际发送的请求详情(包括请求头、请求体),对比Python请求的差异,确认是否有遗漏参数。
  • 验证API的IP权限:确认Foundry集群的IP在目标API的白名单内,部分API会限制请求来源IP,未授权IP会返回403。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:00:58