【发布时间】:2020-12-02 09:57:00
【问题描述】:
我是 API 新手,非常感谢您的友好建议。 我想调用 Binance API "GET /api/v3/account (HMAC SHA256)" 以仅获取我帐户中可用的免费资产。
我得到的带有代码的响应,类似于:
{
"makerCommission": 15,
"takerCommission": 15,
"buyerCommission": 0,
"sellerCommission": 0,
"canTrade": true,
"canWithdraw": true,
"canDeposit": true,
"updateTime": 123456789,
"accountType": "SPOT",
"balances": [
{
"asset": "BTC",
"free": "4723846.89208129",
"locked": "0.00000000"
},
{
"asset": "LTC",
"free": "4763368.68006011",
"locked": "0.00000000"
}
],
"permissions": [
"SPOT"
]
}
我只想要免费余额,所以我尝试使用 MAP 方法,但我收到此错误:
Cannot read property 'map' of undefined at Object.<anonymous><C:\Users\etc..
at Module._compile (internal/module/cjs/loader.js1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/run_main_module.js:17:47
按照我的代码:
const crypto = require('crypto');
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var burl = "https://api.binance.com";
var endPoint = "/api/v3/account";
var dataQueryString = "timestamp=" + Date.now();
var keys = {
"APIkey" :'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
"SECRETkey" : 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
}
var signature = crypto.createHmac('sha256',keys['SECRETkey']).update(dataQueryString).digest('hex');
var url = burl + endPoint + '?' + dataQueryString + '&signature=' + signature;
var ourRequest = new XMLHttpRequest();
ourRequest.open('GET',url,true);
ourRequest.setRequestHeader('X-MBX-APIKEY', keys['APIkey']);
let arrayCleaned = ourRequest.responseText.balances.map(ele => {
return {
"asset" : ele.asset,
"free" : ele.free
}
})
console.log(arrayCleaned);
ourRequest.send();
提前感谢大家帮助我。
【问题讨论】:
-
responseText没有属性balances。
标签: javascript node.js api binance