【发布时间】:2021-03-29 00:03:51
【问题描述】:
试图在 coinbase 中查看我列出的帐户,我已经生成了我的 hmac 哈希并且没有收到任何错误但是由于某种原因我仍然收到 {'message': 'invalid signature'} 和 401 错误,我什至尝试在 coinbase 中创建一个新密钥确保这不是问题
这是我的参考代码我刚刚开始,所以我几乎没有什么可展示的,我正在尝试制作此处显示的 api 文档的准系统版本https://docs.pro.coinbase.com/#signing-a-message
我已经检查以确保我的 api 密钥已启用并且可以正确访问 coinbase api,但老实说,文档肯定可以使用一些工作,因为我在堆栈和 github 上看到了很多类似的未回答问题和我认为有些东西被遗漏了,我也在下面将我的签名哈希转换为小写,正如另一篇文章中推荐的那样
def get_accounts(self):
print("getting accounts")
secret = bytes(self.secret, 'UTF-8')
#unicode objects must be encoded before hashing?? what is that??
timestamp = str(time.time())
message = timestamp + 'GET' + self.baseurl + 'accounts' + ''
message = bytes(message, 'UTF-8')
hmac_key = base64.b64decode(secret)
signature = hmac.new(hmac_key, message, hashlib.sha256)
signature = signature.hexdigest()
print('signature',signature)
#final base 64 byte string to send, but we probably need a regular string
signature_b64 = base64.b64encode(bytes(signature, 'UTF-8'))
signature_b64 = signature_b64.decode("utf-8")
print('final',signature_b64.lower())
headers = {
'CB-ACCESS-SIGN': signature_b64.lower(),
'CB-ACCESS-TIMESTAMP': timestamp,
'CB-ACCESS-KEY': self.key,
'CB-ACCESS-PASSPHRASE': self.passphrase,
'Content-Type': 'application/json'
}
r = requests.get(self.baseurl + 'accounts', headers=headers)
print (r.status_code)
print( r.json())
【问题讨论】:
-
这方面有进展吗?
-
ehhhhh 不抱歉
标签: python python-requests coinbase-api