Binance api密钥和秘密queryString格式错误

时间:2018-03-30 05:13:00

标签: javascript jquery api get api-key

我做错了什么?

我试图获取我的帐户信息,但有些不正确。

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

1 个答案:

答案 0 :(得分:0)

通过与您相同的“帐户” API调用,我遇到了400个错误。

我发现的解决方案是从Binance服务器请求时间戳(使用/ api / v1 / time),而不是自己生成时间戳。

第二,我必须在时间戳旁边的查询字符串中添加&recvWindow = 5000

Binance文档中的recvWindow是一个可选参数,但是我学到了很难的方法,即所写的内容并不总是正确的……recVWindow使它可以工作。

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