首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中对FTX_Client进行身份验证

如何在Python中对FTX_Client进行身份验证
EN

Stack Overflow用户
提问于 2021-06-25 03:21:57
回答 2查看 918关注 0票数 0

我已经浏览了这里的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'}的代码的一部分

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-01 06:33:08

我也遇到过同样的问题。

您需要更改此部分:

代码语言:javascript
复制
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_urlmethod

票数 1
EN

Stack Overflow用户

发布于 2021-10-30 17:20:40

对于ftx.us,您需要使用不同的头部:

代码语言:javascript
复制
        prepared.headers['FTXUS-KEY'] = key
        prepared.headers['FTXUS-TS'] = str(ts)
        prepared.headers['FTXUS-SIGN'] = signature
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68121662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档