是什么导致我的 Google Apps 脚本中出现此 TypeError?
What is causing this TypeError in my Google Apps Script?
我正在尝试通过 Apps 脚本将数据从 Coin Market Cap 调用到 Google sheet。我不明白我在这里做的 TypeError。
代码如下:
function getCryptoPrice() {
var sh1=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("EPS data CMC");
var url="https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest?symbol=BTC"
var requestOptions = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest',
qs: {
start: 1,
limit: 5000,
convert: 'USD'
},
headers: {
'X-CMC_PRO_API_KEY': '***********hidden*************'
},
json: true,
gzip: true
};
var httpRequest= UrlFetchApp.fetch(url, requestOptions);
var getContext= httpRequest.getContentText();
var parseData=JSON.parse(getContext);
sh1.getRange(1, 2).setValue(parseData.data.BTC.quote.USD.price)
}
错误:
TypeError: Cannot read property 'USD' of undefined
getCryptoPrice @ Code.gs:24
关键词 : google sheet, apps script, coin market cap, quote, latest, V2, api,
您收到该错误是因为 parseData.data.BTC
正在返回 array
。
尝试将其更改为:-
sh1.getRange(1, 2).setValue(parseData.data.BTC.quote.USD.price)
这个
sh1.getRange(1, 2).setValue(parseData.data.BTC[0].quote.USD.price)
我正在尝试通过 Apps 脚本将数据从 Coin Market Cap 调用到 Google sheet。我不明白我在这里做的 TypeError。
代码如下:
function getCryptoPrice() {
var sh1=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("EPS data CMC");
var url="https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest?symbol=BTC"
var requestOptions = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest',
qs: {
start: 1,
limit: 5000,
convert: 'USD'
},
headers: {
'X-CMC_PRO_API_KEY': '***********hidden*************'
},
json: true,
gzip: true
};
var httpRequest= UrlFetchApp.fetch(url, requestOptions);
var getContext= httpRequest.getContentText();
var parseData=JSON.parse(getContext);
sh1.getRange(1, 2).setValue(parseData.data.BTC.quote.USD.price)
}
错误:
TypeError: Cannot read property 'USD' of undefined
getCryptoPrice @ Code.gs:24
关键词 : google sheet, apps script, coin market cap, quote, latest, V2, api,
您收到该错误是因为 parseData.data.BTC
正在返回 array
。
尝试将其更改为:-
sh1.getRange(1, 2).setValue(parseData.data.BTC.quote.USD.price)
这个
sh1.getRange(1, 2).setValue(parseData.data.BTC[0].quote.USD.price)