У меня есть скрипт, который запускается внутри ячейки, который выполняет вызов API и возвращает значение.
Я хотел бы обновить значение через API или принять решение сохранить оригинал, который был возвращен ранее.Возможно ли это?
Я думал о кэшировании значения в соседней ячейке, как о кеше (резервной копии) и извлечении его оттуда, но все становится довольно сложно, когда дело доходит до хранения значений через setValue () и запросовклетки.
Вот прототип того, чего я пытаюсь достичь:
А вот фрагмент:
function getBittrexMarketSymbol(sourceCell) {
// Import current value of the cell and store it here.
var getCurrentValue; // This bit I don't know how to do.
getCurrentValue = 0.00123; // For now, we set a dummy value.
// Query the adjacent cell for the flag
var range = SpreadsheetApp.getActiveRange();
var col = range.getColumn();
var row = range.getRow();
var range2 = SpreadsheetApp.getActiveSheet().getRange(row,col+1);
var flag = range2.getValue();
if(typeof sourceCell === 'undefined'){
// DEBUG Override
var marketSymbol = 'None';
Logger.log('No market symbol found: [MARKET_SYMBOL=%s]', marketSymbol)
return lastprice = -1;
}
// Based on a condition we choose to return the live API value
// or the original value that was already in the cell, prior to execution.
if(flag===1){
var marketSymbol = sourceCell;
var url = "https://api.bittrex.com/v3/markets/"+ marketSymbol +"/ticker";
var response = UrlFetchApp.fetch(url);
var text = response.getContentText();
var myjson = JSON.parse(text);
var lastprice = myjson.lastTradeRate;
return lastprice;
}else{
return getCurrentValue;
}
}
В общем, я хотел бы выполнить вызов API или выбрать сохранение любых существующих значений в этой ячейке с розовым фоном.
Обратите внимание, что мне нужно изменить адрес ячейки, чтобы вызватьоценка сценария.