我做错了什么?
我试图获取我的帐户信息,但有些不正确。
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
答案 0 :(得分:0)
通过与您相同的“帐户” API调用,我遇到了400个错误。
我发现的解决方案是从Binance服务器请求时间戳(使用/ api / v1 / time),而不是自己生成时间戳。
第二,我必须在时间戳旁边的查询字符串中添加&recvWindow = 5000 。
Binance文档中的recvWindow是一个可选参数,但是我学到了很难的方法,即所写的内容并不总是正确的……recVWindow使它可以工作。
我希望这有助于解决问题。