【发布时间】:2020-10-16 08:40:47
【问题描述】:
我有一个代码可以从特定列检索项目 ID,并在 API 调用中使用它来获取更多需要从最后一列开始附加的数据。
这是读取上列并将其用于 API 调用的代码
function readDates() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange("F2:F" + sheet.getLastRow()).getValues();
var searchString = "Project";
var contents = [];
var team_array = [];
for (var i = 0; i < range.length; i++) {
var lastRow = sheet.getRange(2 + i, 1, 1, 8).getValues();
var data = {'project_id': lastRow[0][3]};
var options = {method: 'get',headers: {Authorization: 'Bearer ' + TKF_AUTH}};
var url = TKF_URL + Endpoint + data.project_id + '/users?auth=' + TKF_AUTH
var response = UrlFetchApp.fetch(url, options);
var team = JSON.parse(response);
var content = team.data;
team_array.push(content);
contents = contents.concat(content);
}
需要从 G 列第 2 行附加响应,但这是我觉得很有挑战性的事情,任何帮助都将在这里得到赞赏。看看我的代码崩溃,这不是我想要的。
if (contents.length > 0 ) {
var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects');
var values = contents.map(e => ([e.id, e.first_name, e.last_name, e.display_name, e.email, e.user_type_id, e.role]));
var new_values=values.filter(item=>{
if(item[6] == 'Project Leader' || item[6] == 'Senior Project Leader')
{
return true
}
})
dstSheet.getRange(7, 1, new_values.length, new_values[0].length).setValues(new_values);// How do I structure this part to ensure it starts seting values from column G
}Logger.log(contents.map)
}
【问题讨论】:
标签: javascript arrays google-apps-script google-sheets mapping