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

使用R调用Gemini私有API多参数接口遇HTTP 400错误求助

Fixing Gemini REST API /v1/mytrades 400 "Auction not open..." Error in R

我之前对接Gemini私有API时也踩过类似的多参数接口坑,这个"Auction not open..."错误其实很有迷惑性——大概率不是真的拍卖未开放,而是参数签名或格式出了问题。结合Gemini的API规则和R的HTTP请求特性,给你几个具体的排查方向:

1. 重点检查签名生成逻辑(90%的问题出在这)

Gemini私有API要求所有参数必须参与签名计算,而且序列化格式、加密方式不能错。很多人在R里踩坑就是因为JSON序列化或签名步骤不对:

  • 必须把request、nonce、symbol(以及其他可选参数)整合成一个列表,然后序列化为无空格的紧凑JSON字符串
  • 签名是对这个JSON字符串做HMAC-SHA384加密,再转成Base64编码
  • nonce必须是严格递增的数字,建议用毫秒级时间戳(as.integer(Sys.time()*1000))避免重复

给你一个经过验证的R代码片段:

library(httr)
library(digest)
library(jsonlite)

# 替换成你的API密钥
api_key <- "YOUR_GEMINI_API_KEY"
api_secret <- "YOUR_GEMINI_API_SECRET"

# 构造所有必填参数
trade_params <- list(
  request = "/v1/mytrades",
  nonce = as.integer(Sys.time() * 1000),
  symbol = "btcusd" # 换成你需要的交易对,比如ethusd
)

# 生成紧凑无空格的JSON payload(关键!不能有空格)
payload <- toJSON(trade_params, auto_unbox = TRUE, pretty = FALSE)

# 生成签名:HMAC-SHA384加密后转Base64
signature <- hmac(
  key = api_secret,
  object = payload,
  algo = "sha384",
  raw = TRUE
) %>% base64_encode()

# 发送POST请求
response <- POST(
  url = "https://api.gemini.com/v1/mytrades",
  add_headers(
    "X-GEMINI-APIKEY" = api_key,
    "X-GEMINI-PAYLOAD" = base64_encode(payload),
    "X-GEMINI-SIGNATURE" = signature
  )
)

# 查看响应内容
cat(content(response, "text"), "\n")

2. 验证参数的正确性

虽然错误提示是拍卖相关,但也要确认参数本身没问题:

  • symbol必须是Gemini支持的交易对,比如btcusd、ethusd,不能带任何符号或空格
  • request参数必须和请求的端点完全一致,比如/v1/mytrades,不能少斜杠或者拼写错误
  • 如果添加了可选参数(比如limit_trades),确保参数值是整数类型,不能是字符串

3. 确认请求方法和环境

  • /v1/mytrades是POST请求,绝对不能用GET
  • 如果是测试环境,要把URL换成https://api.sandbox.gemini.com/v1/mytrades,同时使用测试网的API密钥

4. 排查R的JSON序列化坑

R的jsonlite::toJSON默认会生成带空格的格式化JSON,这会导致签名不匹配。一定要加上pretty = FALSE和auto_unbox = TRUE:

  • auto_unbox = TRUE确保单个数值(比如nonce)不会被包裹成数组(比如[1690000000000])
  • pretty = FALSE生成紧凑无空格的JSON,保证签名计算的字符串和Gemini服务器端一致

如果还是不行,可以把生成的payload和signature打印出来,对比Gemini官方文档的签名示例,先验证签名逻辑是否正确。也可以用Postman手动构造请求测试,确认签名没问题后再回到R代码里调试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:38:35