首页 > 解决方案 > 使用 Google 表格将变量连接到 JSON 调用中

问题描述

我在加密货币代码的谷歌电子表格中对 coinmarket cap 进行 API 调用并循环遍历一个范围。

代码如下:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test");
var r = sheet.getRange('B2:B17').getValues();
for (var i = 0; i < r.length; i++) {
    symbol = r[i][0];
    url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=' + symbol + '&convert=USD&CMC_PRO_API_KEY=8192e0b9-fda4-4668-9251-3dfded3bdc2f';
    //url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC&convert=USD&CMC_PRO_API_KEY=abcdetc'
    var resp = UrlFetchApp.fetch(url);
    var result = JSON.parse(resp.getContentText());
    var price = result.data.BTC.quote.USD.price;
    sheet.getRange(2 + i, 3).setValue(price);

这是可行的,但显然它只提供了比特币的价格,因为 BTC 在 var 价格线上。

而不是 BTC 我想要 + 符号 + 以便代码可以遍历所有不同的符号。我试过这个:

var price = result + "." + data + "." + symbol + "." + quote + "." + USD + "." price

这不起作用。我尝试了“”的其他各种用法,但也没有成功,还尝试单独连接字符串。

如何正确地做到这一点?

先感谢您!

标签: javascriptgoogle-sheetsgoogle-sheets-api

解决方案


var price = result.data.BTC.quote.USD.price;

应替换为涵盖您的变量名称的类似代码:

var price = result.data[symbol].quote.USD.price;

推荐阅读