gpt4 book ai didi

python - coinbase api在获取请求时出现无效签名错误python

转载 作者:行者123 更新时间:2023-12-02 02:18:15 27 4
gpt4 key购买 nike

尝试在 coinbase 中查看我列出的帐户,我已经生成了 hmac 哈希并且没有收到任何错误,但由于某种原因我仍然收到 {'message': 'invalid signature'} 和401 错误,我什至尝试在 coinbase 中创建一个新 key 以确保这不是问题

这是我的引用代码,我刚刚开始,所以我没有什么可以展示的,我正在尝试制作此处显示的 api 文档的准系统版本 https://docs.pro.coinbase.com/#signing-a-message

我已经检查以确保我的 api key 已启用并且可以正确访问 coinbase api,但老实说,文档肯定可以使用一些工作,因为我在 stack 和 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())

最佳答案

这对我有用:

timestamp = str(time.time())
message = timestamp + request.method + request.path_url
message = message.encode('utf-8')
if request.body:
message = message + request.body
hmac_key = base64.b64decode(self.api_secret)
signature = hmac.new(hmac_key, message, hashlib.sha256)
signature_b64 = base64.b64encode(signature.digest()).decode('utf-8')

request.headers.update({
'CB-ACCESS-SIGN': signature_b64,
'CB-ACCESS-TIMESTAMP': timestamp,
'CB-ACCESS-KEY': self.api_key,
'CB-ACCESS-PASSPHRASE': self.api_pass,
'Content-Type': 'application/json'
})

关于python - coinbase api在获取请求时出现无效签名错误python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66847303/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com