有一个网页: https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U
我正在尝试将XLM余额值(当前为4.9999897)导入Google电子表格。在此阶段,我尝试使用以下公式,但返回错误“导入的内容为空”。
=IMPORTHTML("https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U", "table", 1)
同时,在Chrome的DevTools / Console中运行以下代码会提供所需的表索引“ 1”:
var i = 1; [].forEach.call(document.getElementsByTagName("table"), function(x) { console.log(i++, x); })
我还尝试了IMPORTXML,但在其他情况下却成功了,但没有成功:
=IMPORTXML("https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U", "//span[@class='break']")
或者,有一个JSON页面包含相同的必需信息: https://horizon.stellar.org/accounts/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U
我试图使用以下自定义函数从中提取余额值,就像徒劳无功一样:
function GetXLMBalance(xlmAddress) {
var response = UrlFetchApp.fetch('https://horizon.stellar.org/accounts/' + xlmAddress);
var json = response.getContentText();
var data = JSON.parse(json);
return data.balance;
}
如果我需要提取“序列”值,那么上面的脚本可以很好地解决问题,但是对于“平衡”则没有帮助,因为它返回空白值。这里的问题还在于页面包含两个“ balance”值,但是我需要第二个值(其后是“ asset_type”:“ native”)。
对于有关如何将提到的XLM余额值导入Google电子表格的任何建议,我们将不胜感激。
答案 0 :(得分:1)
请尝试:
=--regexextract(index(IMPORTdata("https://horizon.stellar.org/accounts/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U"),58,1),"\d*\.\d*")
拉相关的JSON字段,然后提取所需的部分并将其转换为数字。
答案 1 :(得分:0)
您可以使用循环查看返回的所有余额,并且仅在asset_type
等于native
时采取措施。
function GetXLMBalance(xlmAddress) {
var response = UrlFetchApp.fetch('https://horizon.stellar.org/accounts/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U');
var json = response.getContentText();
var data = JSON.parse(json);
for (var i = 0; i < data.balances.length; i++) {
if (data.balances[i]["asset_type"] == "native") { Logger.log(data.balances[i]["balance"]); }
}
}