调用Gemini REST API获取FX汇率时,时间戳格式报错求助
解决Gemini FX汇率API的"无效DateTime"错误
问题根源
报错的核心是两个错误:
- 时间戳传递方式错误:Gemini v2/fxrate端点的时间戳是查询参数(
timestamp),而非路径参数。你把时间戳放在URL路径末尾,不符合API的参数规则。 - 请求头
request字段不匹配:Gemini API要求请求头里的request值必须和完整请求路径(包括查询参数)完全一致,你当前只写了/v2/fxrate,和实际请求路径不符。
修正后的代码
import requests def create_headers(payload): # 假设此函数已正确处理API签名逻辑(如X-GEMINI-APIKEY、签名头等) headers = {} # 你的签名生成逻辑... return headers base_url = "https://api.gemini.com" # 基础路径:/v2/fxrate/{base}/{quote} fx_path = '/v2/fxrate/gbpusd' timestamp = 1495127793000 # 拼接完整URL,将时间戳作为查询参数传入 fx_url = f"{base_url}{fx_path}?timestamp={timestamp}" # 更新request字段为包含查询参数的完整路径 fxpayload = { "request": f"{fx_path}?timestamp={timestamp}", # 按需补充nonce等其他必填payload字段 } fxheaders = create_headers(fxpayload) response = requests.get(fx_url, headers=fxheaders) print(response.json())
关键说明
- 参数位置修正:按照API要求,
timestamp需以查询参数形式放在URL的?之后,格式为?timestamp=1495127793000。 - 请求头
request字段对齐:必须和实际请求的完整路径(含查询参数)完全一致,否则API会验证失败。 - 时间戳格式:你使用的毫秒级整数是符合要求的,只要传递方式正确即可生效。
内容的提问来源于stack exchange,提问作者Koh
相关产品推荐
相关产品推荐

