我是API新手,希望您能给我一些建议。我希望调用Binance API“GET /api/v3/account(HMAC SHA 256)”,只获取我账户上的免费资产。
我得到的代码的响应是这样的:
{
"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();
先谢谢你们对我的帮助。
3条答案
按热度按时间py49o6xq1#
我猜你一定是新的 AJAX ,因为你错过了2个重要的事实
考虑您的代码片段
正如您所看到的,您在第11行发送 AJAX 请求,但是您试图在第4行操作(预期的)数据!因此出现了错误
Cannot read property 'map' of undefined at Object
接下来,
ourRequest.responseText
是一个属性,它将服务器响应保存在string中,它没有任何map属性,所以需要使用JSON.parse()将其转换为一个对象所以这应该没问题
fcg9iug32#
您是否尝试过使用CCXT连接binance API?
您可以执行以下操作:
p4tfgftt3#
我不知道我是否理解了你的问题,但是我用python创建了自己的脚本来跟踪我的投资组合。
然后我创建一个excel文件与数据框。请,建议没有显示比南斯赚取。