Я пытаюсь создать функцию JS Google Sheets, которая будет считывать данные в определенной ячейке, вызывать API в отношении этого значения, анализировать данные и возвращать результат в ячейку рядом с оригиналом.
Я могу сделать это поочередно, но я пытаюсь сделать так, чтобы это проходило через набор массивов.
Когда я запускаю функцию, она заканчивается только последними результатами индексации.
Я иду по этому поводу совершенно неправильно или просто что-то упускаю?
//Create button on Sheet in dropdown
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Overwatch API Menu')
.addItem('Get Updated Stats','ovrstat')
.addToUi();
};
var nameCell = ["A2","A3","A4","A5"];
var rate = ["B2","B3","B4","B5"];
var i;
for (i = 0; i < 4; i = i + 1){
var rangeA = nameCell[i];
var rangeB = rate[i];
function ovrstat() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var name = sheet.getRange(rangeA).getValue();
// Call the Ovrstat API
var response = UrlFetchApp.fetch('https://ovrstat.com/stats/psn/'+name);
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data.rating);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(rangeB).setValue([data.rating]);
};
};