У меня есть этот код, который получает идентификатор проекта из таблицы Google, если они соответствуют критериям (между двумя датами), и использует его для API, чтобы привлечь пользователей в проект. После этого функция getTeam добавляет ответ (Team) на лист. Моя проблема в том, что я не могу получить всех пользователей, добавленных к листу с помощью функции getTeam . Я плохо структурировал свои циклы в readDates Я помогу структурировать код, чтобы получить всех пользователей на листе.
function readDates() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range1 = sheet.getRange("C2:C" + sheet.getLastRow()).getValues();
var searchString = "Project";
var ahead = nextweek()
var behind = lastweek()
var team_array = [];
for (var i = 0; i < range.length; i++) {
if (range1[i][0] >= behind && range1[i][0] <= ahead) {
var lastRow = sheet.getRange(2 + i, 1, 1, 8).getValues();
var dateval = lastRow[0][2]
var data = {
'project_id': lastRow[0][3] // There are 6 projects ID meeting criteria, each project has 7 users
};
var options = {
method: 'get',
headers: {
Authorization: 'Bearer ' + token
}
};
var url = tknurl + Endpoint + data.project_id + '/users?auth=' + token
var response = UrlFetchApp.fetch(url, options);
var team = JSON.parse(response);
var content = team.data;
team_array.push(content);
}
}
return(content)
}
getTeam function. Где я получаю пользователей только для одного проекта, а не для всех 6 проектов
function getTeam() {
var ss = SpreadsheetApp.getActive().getSheetByName('Team');
var Pro_data = readDates()
for (var j = 0; j < Pro_data.length; j++) {
ss.getRange(2 + j, 1).setValue(Pro_data[j].id);
ss.getRange(2 + j, 2).setValue(Pro_data[j].first_name);
ss.getRange(2 + j, 3).setValue(Pro_data[j].last_name);
ss.getRange(2 + j, 4).setValue(Pro_data[j].display_name);
ss.getRange(2 + j, 5).setValue(Pro_data[j].email);
ss.getRange(2 + j, 6).setValue(Pro_data[j].user_type_id);
ss.getRange(2 + j, 7).setValue(Pro_data[j].role);
}
}