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

使用requests.delete调用Alpaca API时数据被忽略的问题求助

解决Alpaca API DELETE请求无法传递参数的问题

Alpaca的「平仓指定仓位」接口要求percentage参数通过URL查询参数传递,而非放在DELETE请求的请求体里。这就是你之前用json/data参数传递数据被忽略的核心原因——不少API的DELETE接口不支持解析请求体内容,而Alpaca的这个接口明确要求参数放在URL query中。

修改后的可行代码如下:

def close_position(symbol, percentage, api_key=api_key, secret_key=secret_key, base_url=base_url):
    params = {"percentage": percentage}
    headers = {
        "APCA-API-KEY-ID": api_key,
        "APCA-API-SECRET-KEY": secret_key
    }
    url = f"{base_url}/v2/positions/{symbol}"
    order = requests.delete(url, params=params, headers=headers)
    return order.json()

补充说明:

  • 将原代码中的data字典改为params,传递给requests.delete的params参数后,requests会自动把参数拼接成URL的查询字符串(例如.../AAPL?percentage=50),完全匹配Alpaca接口的参数要求。
  • 若你之前尝试params参数未生效,可检查是否存在拼写错误或参数名不符——Alpaca文档中指定的平仓比例参数确实是percentage。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:55:18