Open Salan54 opened 6 years ago
c = '12345' k = 'xxxxx' s = 'yyyyy' api.account_balance(c, k, s)
~/.virtualenvs/bitstamp/lib/python3.6/site-packages/bitstampy/api.py in account_balance(client_id, api_key, api_secret) 38 def account_balance(client_id, api_key, api_secret): 39 return ( ---> 40 calls.APIAccountBalanceCall(client_id, api_key, api_secret) 41 .call() 42 ) ~/.virtualenvs/bitstamp/lib/python3.6/site-packages/bitstampy/calls.py in call(self, **params) 79 message = nonce + self.client_id + self.api_key 80 signature = hmac.new( ---> 81 self.api_secret, msg=message, digestmod=hashlib.sha256) 82 signature = signature.hexdigest().upper() 83 params.update({ ~/.virtualenvs/bitstamp/lib/python3.6/hmac.py in new(key, msg, digestmod) 142 method. 143 """ --> 144 return HMAC(key, msg, digestmod) ~/.virtualenvs/bitstamp/lib/python3.6/hmac.py in __init__(self, key, msg, digestmod) 40 41 if not isinstance(key, (bytes, bytearray)): ---> 42 raise TypeError("key: expected bytes or bytearray, but got %r" % type(key).__name__) 43 44 if digestmod is None: TypeError: key: expected bytes or bytearray, but got 'str'
Changed key to bytes :
k = b'xxxxx' Then :
k = b'xxxxx'
api.account_balance(c, k, s) TypeError Traceback (most recent call last) <ipython-input-27-35f3ae0e7115> in <module>() ----> 1 api.account_balance(c, k, s) ~/.virtualenvs/bitstamp/lib/python3.6/site-packages/bitstampy/api.py in account_balance(client_id, api_key, api_secret) 38 def account_balance(client_id, api_key, api_secret): 39 return ( ---> 40 calls.APIAccountBalanceCall(client_id, api_key, api_secret) 41 .call() 42 ) ~/.virtualenvs/bitstamp/lib/python3.6/site-packages/bitstampy/calls.py in call(self, **params) 77 def call(self, **params): 78 nonce = self._get_nonce() ---> 79 message = nonce + self.client_id + self.api_key 80 signature = hmac.new( 81 self.api_secret, msg=message, digestmod=hashlib.sha256) TypeError: must be str, not bytes
I am rather confused. Could you please clarify the argument types to use for client_id, api_key, api_secret ? Thanks
Have you found how to make this work ?
Changed key to bytes :
k = b'xxxxx'
Then :I am rather confused. Could you please clarify the argument types to use for client_id, api_key, api_secret ? Thanks