Цикл функций JavaScript в Google Sheets - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь создать функцию 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]);
    };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...