我已经浏览了这里的FTX文档:https://docs.ftx.us/#overview
我已经查看了以下代码库中的示例代码:https://github.com/ftexchange/ftx/tree/master/rest
我不能‘获取’或‘发布’任何需要认证的东西。我在我的账户上使用拥有‘完全交易权限’的API键,当我查看: print(request.headers)时,标题看起来格式正确。
我尝试过:使用google colab而不是vs代码,更新我所有的库,生成新的api密钥,重新启动内核和计算机。我可以拉出像“市场”这样的东西,因为它不需要身份验证。
如果您需要更多信息,请告诉我,下面是我用来隔离问题并返回{'success': False, 'error': 'Not logged in'}的代码的一部分
import time
import urllib.parse
from typing import Optional, Dict, Any, List
from requests import Request, Session, Response
import hmac
ep = 'https://ftx.us/api/wallet/balances'
ts = int(time.time() * 1000)
s = Session()
request = Request('GET', ep)
prepared = request.prepare()
signature_payload = f'{ts}{prepared.method}{prepared.path_url}'.encode()
if prepared.body:
signature_payload += prepared.body
signature = hmac.new(secret.encode(), signature_payload, 'sha256').hexdigest()
request.headers['FTX-KEY'] = key
request.headers['FTX-SIGN'] = signature
request.headers['FTX-TS'] = str(ts)
response = s.send(prepared)
data = response.json()
print(data)发布于 2021-07-01 06:33:08
我也遇到过同样的问题。
您需要更改此部分:
prepared.headers['FTX-KEY'] = key
prepared.headers['FTX-SIGN'] = signature
prepared.headers['FTX-TS'] = str(ts)PS。我认为FTX需要修复他们的API文档
PSS。我已经检查了https://github.com/ftexchange/ftx/tree/master/rest代码的a部分。我相信FTX的人只是把这个代码复制粘贴到文档中,但最初它属于一个更复杂的面向对象的解决方案,它将正常工作,因为他们将一个已经创建的request传递到方法中,并使用一个prepared变量来计算path_url和method
发布于 2021-10-30 17:20:40
对于ftx.us,您需要使用不同的头部:
prepared.headers['FTXUS-KEY'] = key
prepared.headers['FTXUS-TS'] = str(ts)
prepared.headers['FTXUS-SIGN'] = signaturehttps://stackoverflow.com/questions/68121662
复制相似问题