0
認証しようと、私はこのエラーが表示されます。 KeyError例外:私が使用する「mykeystring」Python 3.xでBitfinex REST APIへの認証されたアクセスには何が間違っていますか?
キーは、私はそれでモバイルアプリへのアクセスを得ることができるよう、正しいです。このクライアントを認証しようとする前に、モバイルアプリから切断します。このコードは、API v2 docsとほぼ同じですが、Python 2.xのために書かれているようですが、一番下のprint関数にかっこを付け加えました。 Python 3との互換性のために必要な変更はありますか?
import json
import base64
import requests
import datetime
import hashlib
import hmac
import time
import os
class BitfClient(object):
BASE_URL = "https://api.bitfinex.com/
BFX_KEY = 'mykeystring'
BFX_SECRET = 'mysecretstring'
KEY = os.environ[BFX_KEY]
SECRET = os.environ[BFX_SECRET]
def _nonce(self):
return str(int(round(time.time() * 10000)))
def _headers(self, path, nonce, body):
signature = "/api/" + path + nonce + body
h = hmac.new(self.SECRET, signature, hashlib.sha384)
signature = h.hexdigest()
return {
"bfx-nonce": nonce,
"bfx-apikey": self.KEY,
"bfx-signature": signature,
"content-type": "application/json"
}
def req(self, path, params={}):
nonce = self._nonce()
body = params
rawBody = json.dumps(body)
headers = self._headers(path, nonce, rawBody)
url = self.BASE_URL + path
resp = requests.post(url, headers=headers, data=rawBody, verify=True)
return resp
def active_orders(self):
"""
Fetch active orders
"""
response = self.req("v2/auth/r/orders")
if response.status_code == 200:
return response.json()
else:
print(response.status_code)
print(response)
return ''
client = BitfClient()
print(client.active_orders())