BinanceUS API-正确生成签名,但仍然出现错误“此请求的签名无效”

问题描述

我认为构建一个自定义基于节点的接口以通过其API与binance.us进行交互是一个有趣的项目,并且在尝试提取帐户信息时遇到以下错误,这需要HMAC SHA256签名的请求:

{code: -1022,msg: 'Signature for this request is not valid'}

https://github.com/binance-us/binance-official-api-docs/blob/master/rest-api.md#signed-trade-and-user_data-endpoint-security

我相信我可以正确生成签名,因为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&timestamp=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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...