问题描述
我认为构建一个自定义基于节点的接口以通过其API与binance.us进行交互是一个有趣的项目,并且在尝试提取帐户信息时遇到以下错误,这需要HMAC SHA256签名的请求:
{code: -1022,msg: 'Signature for this request is not valid'}
我相信我可以正确生成签名,因为api文档包含示例(请参见上面的链接)。当我将示例查询字符串和示例密钥插入我的代码时,我得到了正确的签名(我的代码使用Node.js加密模块)。我的代码:
const buildSig = (queryString,secret) => {
return crypto.
.createHmac('sha256',secret)
.update(queryString)
.digest('hex');
}
以给定的样本值调用时:
queryString = 'symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559'
secretKey = 'NhqPtmdsJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j'
我的代码生成了正确的签名:c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71。
尽管如此,每个请求响应都表明我的签名无效。
最后一件事-至于请求本身,我正在使用node-fetch。我的代码为帐户详细信息请求生成的示例请求如下:
fetch('https://api.binance.us/api/v3/account?timestamp=1597548872749&signature=<MY SIG>',{
method: 'GET',headers: {'X-MBX-APIKEY': '<MY PUB API KEY>'}
});
有人知道我的代码在哪里吗?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)