Binance api 密钥和秘密查询字符串格式错误

Posted

技术标签:

【中文标题】Binance api 密钥和秘密查询字符串格式错误【英文标题】:Binance api key and secret queryString malformed 【发布时间】:2018-09-09 03:48:15 【问题描述】:

我做错了什么?

我正在尝试获取我的帐户信息,但有些地方不正确。

var apiKey = 'myAPIKey';
var secret = 'mySecret';
var queryString = 'timestamp=' + Date.now();
var hash = CryptoJS.HmacSHA256(queryString,secret);
var url = 'https://api.binance.com/api/v3/account?'+ queryString + '&signature=' +hash;

$('.botonOrden').click(function()
    $.ajax(
        beforeSend: function(req)
            req.setRequestHeader("X-MBX-APIKEY", apiKey);
        ,
        type: 'GET',
        url: url
    )
    .done(function() 
        console.log("success");
    )
    .fail(function() 
        console.log("error");
    )
    .always(function() 
        console.log("complete");
    );
);

控制台说:

跨域请求被阻止:同源策略不允许读取位于https://api.binance.com/api/v3/account?timestamp=1522383455036&signature=MyHash的远程资源。 (原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。

我想我正在这样做,如文档中所示: https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#signed-endpoint-examples-for-post-apiv1order

https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#account-information-user_data

【问题讨论】:

我没有收到 Cross-Origin Request Blocked 错误,我收到 404 错误:codepen.io/spmsupun/pen/mxxRro 你需要开一个币安账户,把你的apiKey和Secret放在变量var apiKey中;和 var 秘密;然后它发送一个带有正确 url 的 GET 请求 即使它不应该出现 404 错误,它也应该显示无效密钥错误。尝试使用无效密钥,看看你得到了什么 你说得对,我的错,实际上我更新了代码让我更好地理解: $('.botonOrden').click(function() var invocation = new XMLHttpRequest(); var url = 'api.binance.com/api/v1/time'; callOtherDomain(); function callOtherDomain() if( invocation) invocation.open('GET', url, true); invocation.send(); ); 【参考方案1】:

我在使用与您相同的“帐户”API 调用时遇到了 400 个错误。

我找到的解决方案是向币安服务器请求时间戳(使用 /api/v1/time),而不是自己生成。

其次,我必须将 &recvWindow=5000 添加到时间戳旁边的查询字符串中。

recvWindow 在 Binance 文档中是一个可选参数,但我很难理解所写的内容并不总是正确的...... recVWindow 使它起作用。

我希望这有助于解决问题。

【讨论】:

以上是关于Binance api 密钥和秘密查询字符串格式错误的主要内容,如果未能解决你的问题,请参考以下文章

如何验证对 Binance API 的 cURL 请求?

服务如何生成和使用公共和秘密 API 密钥?

JAVA实战-01-binance量化机器人API接入(更新中)

JAVA实战-01-binance量化机器人API接入(更新中)

JAVA实战-01-binance量化机器人API接入(更新中)

Binance REST API - 通过查询字符串下达 PHP 订单 (POST)