Имеется документ в Google Spreadsheets с несколькими листами. На каждом из листов по таблице с данными. Назовем их List1, List2
Для получения данных в JSON я через редактор скриптов Apps Script использую код:
var ss = SpreadsheetApp.getActiveSpreadsheet(), // spreadsheet
s = ss.getActiveSheet(); // sheet
function getData(){
var result = [],
range = 'A:F', // диапазон ячеек, который хотим выгружать
values = s.getRange(range).getValues(),
last_row = parseInt(s.getLastRow());
for (var i = 1; i < last_row; i++) {
result.push(values[i]);
}
return result;
}
function doGet() {
var data = getData();
if(!data) {
data = '';
}
return ContentService.createTextOutput(
JSON.stringify({'result': data})).setMimeType(ContentService.MimeType.JSON);
}
Развертываю скрипт и получаю ссылку, которая отдает JSON.
Вопрос заключается в следующем, как сделать так, чтобы получать доступ к нужному листу по выбору? Т.е. если нужно к List1, если нужно к List2?
В AppsScript если сделать копию файла и поменять код на:
var ss = SpreadsheetApp.getActiveSpreadsheet(), // spreadsheet
s = ss.getSheetByName("List2"); // sheet
function getData(){
var result = [],
range = 'A:F', // диапазон ячеек, который хотим выгружать
values = s.getRange(range).getValues(),
last_row = parseInt(s.getLastRow());
for (var i = 1; i < last_row; i++) {
result.push(values[i]);
}
return result;
}
function doGet() {
var data = getData();
if(!data) {
data = '';
}
return ContentService.createTextOutput(
JSON.stringify({'result': data})).setMimeType(ContentService.MimeType.JSON);
}
то получаем доступ опять же только к одному листу и развернутый скрипт будет отдавать данные только с него.
Нужно решение, чтобы получать доступ к любому листу.