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

使用httr::POST创建Oanda市价订单时遇415错误求助

排查Oanda市价订单415错误的关键点

415错误表示服务器不接受请求的媒体类型,针对你用httr::POST调用Oanda API的场景,重点排查以下几点:

  • 必须设置正确的Content-Type请求头
    Oanda创建订单的API要求请求体为JSON格式,所以在请求中必须明确指定Content-Type: application/json。用httr时,最便捷的方式是使用content_type_json()辅助函数,示例代码:
httr::POST(
  url = "https://api-fxpractice.oanda.com/v3/accounts/{accountID}/orders",
  httr::content_type_json(),
  httr::add_headers(Authorization = "Bearer 你的API令牌"),
  body = list(
    order = list(
      orderType = "MARKET",
      instrument = "EUR_USD",
      units = "100"
    )
  ),
  encode = "json"
)

如果遗漏这个请求头,服务器会返回415错误。

  • 确保请求体正确编码为JSON
    使用httr的encode = "json"参数,它会自动将R对象转换为JSON格式,同时配合content_type_json()保证头信息匹配。不要手动拼接JSON字符串后直接发送,容易出现格式错误。

  • 核对订单数据结构符合Oanda要求
    对照Oanda的订单API文档,确认订单的必填字段(如orderType、instrument、units)齐全且格式正确。比如units需要是字符串格式的数字,orderType必须指定为"MARKET"。数据结构错误有时也会被服务器识别为媒体类型不兼容。

  • 禁止使用表单编码的请求体
    Oanda的订单API不支持application/x-www-form-urlencoded格式的请求体,所以不要设置encode = "form",必须用JSON编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 03:15:00