我正在嘗試使用 Woo 交易所交易 API。他們提供了一段代碼,這是一個令人印象深刻的 Python 類結構。復制如下。
我的問題是如何使用它?
我試圖運行:
get_orders(self, 'BTCUSDT')
引發錯誤“NameError:未定義名稱'self'”
和
get_orders('BTCUSDT')
拋出“TypeError:get_orders()缺少1個必需的位置引數:'symbol'”
這是 woo 家伙提供的代碼(類結構):
import requests
import datetime
import time
import hmac
import hashlib
from collections import OrderedDict
#Application ID 9d4d96f6-3d3b-4430-966d-8733aa3dc3bc
#API Key
api_key = 'my_api_key'
#API Secret
api_secret = 'my_api_secret'
class Client():
def __init__(self, api_key=None, api_secret=None):
self.api_key = api_key
self.api_secret = api_secret
self.base_api = "https://api.woo.network/v1/"
def get_signature(self, params, timestamp):
query_string = '&'.join(["{}={}".format(k, v) for k, v in params.items()]) f"|{timestamp}"
signature = hmac.new(
self.api_secret.encode('utf-8'),
query_string.encode('utf-8'),
hashlib.sha256
).hexdigest()
return signature
def get_orders(self, symbol):
url = self.base_api "orders/"
params = {
"symbol": 'BTCUSDT'
}
params = OrderedDict(sorted(params.items()))
timestamp = str(int(time.time() * 1000))
signature = self.get_signature(params, timestamp)
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'x-api-key': self.api_key,
'x-api-signature': signature,
'x-api-timestamp': timestamp,
'cache-control': 'no-cache'
}
resp = requests.get(url=url, params=params, headers=headers).json()
所以,重復和總結一下,當我撰寫自己的代碼來使用這個類時,我如何呼叫函式 get_orders() 并且更一般地參考類結構中的元素?在此先感謝您的幫助。
uj5u.com熱心網友回復:
看起來您已經截斷了代碼,因為get_orders似乎沒有回傳任何內容。
但是,您將從構造一個 Client 實體開始,如下所示:
client = Client(api_key, api_secret)
...然后...
client.get_orders(None)
這可能看起來有點奇怪,但get_orders需要一個引數,但從未使用過。我不認為get_orders的實作完全符合預期,因為它將始終使用 BTCUSDT
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/432208.html
上一篇:如何連接現有的類
