我究竟做错了什么?
我正在尝试获取我的帐户信息,但有些不正确。
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')。
我认为我正在按照doc:https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#signed-endpoint-examples-for-post-apiv1order中的说明进行操作
我使用与您相同的“帐户”API调用遇到了400个错误。
我找到的解决方案是从Binance服务器请求一个时间戳(使用/ api / v1 / time)而不是自己生成它。
其次,我必须将&recvWindow = 5000添加到时间戳旁边的查询字符串中。
recvWindow在Binance文档中是一个可选参数,但是我学到了很难写的东西并不总是正确的...... recVWindow使它工作。
我希望这有助于解决问题。