我在使用Gemini API文档时遇到错误,同时遵循私有API调用的文档。
json输出为:
{'result': 'error', 'reason': 'InvalidSignature', 'message': 'InvalidSignature'}.
我的代码:
gemini_api_key = getMasterApi()#gets master api key from a json file
gemini_api_secret = getSecretApi().encode()#gets secret api key from a json file
print(gemini_api_secret)
t = datetime.datetime.now()
payload_nonce = str(int(time.mktime(t.timetuple())*1000))
payload = {"request": "/v1/mytrades", "nonce": payload_nonce}
encoded_payload = json.dumps(payload).encode()
b64 = base64.b64encode(encoded_payload)
signature = hmac.new(gemini_api_secret, b64, hashlib.sha384).hexdigest()
request_headers = {
'Content-Type': "text/plain",
'Content-Length': "0",
'X-GEMINI-APIKEY': gemini_api_key,
'X-GEMINI-PAYLOAD': b64,
'X-GEMINI-SIGNATURE': signature,
'Cache-Control': "no-cache"
}
response = requests.post(url, headers=request_headers)
my_trades = response.json()
print(my_trades)
[https://docs.gemini.com/rest-api/#public-api-invocation][1]
发布于 2021-05-23 00:05:17
我也有同样的问题,并且能够通过创建一个新的具有主作用域(而不是主作用域)和Auditor权限的API密钥来解决它。
发布于 2021-09-04 20:05:44
确保您使用的是正确的URL。如果您使用沙箱帐户创建了一个API密钥,则必须将URL更改为url = "https://api.sandbox.gemini.com/v1/mytrades"
。
https://stackoverflow.com/questions/67544017
复制相似问题