- Вы хотите извлечь
filterViewId
из созданного представления фильтра. - Вы хотите добиться этого с помощью скрипта Google Apps.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Шаблон 1:
В этом шаблоне при запуске метода batchUpdate из возвращенного значения извлекается filterViewId
.
Пожалуйста, измените следующим образом.
Модифицированный скрипт:
С:
Sheets.Spreadsheets.batchUpdate(
{
requests: requests
},
ssId
);
Кому:
var res = Sheets.Spreadsheets.batchUpdate({requests: requests}, ssId);
var filterViewId = res.replies[0].addFilterView.filter.filterViewId;
Logger.log(filterViewId)
Шаблон 2:
В этом шаблоне filterViewId
получено с помощью метода spreadsheets.get в API Sheets. В этом случае результат извлекается по имени листа и заголовку представления фильтра.
Пример сценария:
function myFunction() {
var sheetName = "Sheet1"; // Please set the sheet name.
var filterViewTitle = "sampleName"; // Please set the filter view title.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssId = ss.getId();
var res = Sheets.Spreadsheets.get(ssId);
var sheet = res.sheets.filter(function(s) {return s.properties.title == sheetName});
if (sheet.length == 1) {
sheet[0].filterViews.forEach(function(f) {
if (f.title == filterViewTitle) {
Logger.log(f.filterViewId)
}
});
}
}
Примечание:
- В приведенных выше сценариях: предполагается, что API-интерфейсы Sheets уже включены в службы Advanced Google.
Ссылка:
Если я неправильно понял ваш вопрос, а это не то направление, которое вы хотите, я прошу прощения.