问题描述
我正在尝试使用 Gemini 交易 API。我给自己发了一个 API 密钥和一个秘密,在配置了我的环境后,我在通过 pip 设置和安装请求时遇到了很多问题,我使用他们的示例代码创建了一个简单的脚本来读取我最近的交易。这是脚本,减去我的 API 密钥:
#!/usr/bin/env/ python
import requests
import json
import base64
import hmac
import hashlib
import datetime,time
url = "https://api.sandbox.gemini.com"
gemini_api_key = "master-xxx"
gemini_api_secret = "xxx".encode()
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)
现在一开始,它会运行,但给我一个错误,说我没有指定一个帐户。然后,根本没有改变任何东西,它突然完全停止工作。因此,虽然我在访问 API 时仍然存在某种问题,但我什至无法再找到错误以找出原因。现在我得到的是一个 JSON 解码错误,如下所示:
Traceback (most recent call last):
File "c:\Users\david\Desktop\Code Projects\GeminiTrader\GeminiTrader-v0.1.py",line 33,in <module>
my_trades = response.json()
File "C:\Users\david\AppData\Local\Programs\Python\Python39\lib\site-packages\requests-2.25.1-py3.9.egg\requests\models.py",line 900,in json
return complexjson.loads(self.text,**kwargs)
File "C:\Users\david\AppData\Local\Programs\Python\Python39\lib\json\__init__.py",line 346,in loads
return _default_decoder.decode(s)
File "C:\Users\david\AppData\Local\Programs\Python\Python39\lib\json\decoder.py",line 337,in decode
obj,end = self.raw_decode(s,idx=_w(s,0).end())
File "C:\Users\david\AppData\Local\Programs\Python\Python39\lib\json\decoder.py",line 355,in raw_decode
raise JSONDecodeError("Expecting value",s,err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
是什么导致了这个 json 解码问题?为什么之前没有出现,因为 API 只是因为帐户参数错误而拒绝了我的请求?为什么我没有修改代码中的任何内容,它突然变成了这个错误?我该如何解决?我在安装请求和让它工作时一直遇到问题,也许我在这个过程中搞砸了?
当然,在解决此问题后,我将有许多新问题需要解决,因为有关此 API 的文档非常糟糕。对推进该项目的任何帮助将不胜感激!谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)