使用Google表格将变量连接到JSON调用中

时间:2019-02-05 15:52:30

标签: javascript google-sheets google-sheets-api

我正在对加密货币行情的Google电子表格进行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在价格范围内。

我想使用+符号+代替BTC,以便代码可以遍历所有不同的符号。我已经尝试过了:

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

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

如何正确完成?

先谢谢您!

2 个答案:

答案 0 :(得分:0)

您可以尝试如下操作:

function(2)

string.concat(string1, string2, ..., stringX)

显式打字可以按照以下方式完成,

var arr = ['a1', 'b1', 'c1']; console.log(arr.join(',')); // 'a1,b1,c1'.

答案 1 :(得分:0)

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

应该用覆盖您的变量名的类似代码替换:

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