Try
function create_filter_view() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssId = ss.getId();
var sheet = ss.getSheetByName("Sheet1");
var sheetId = sheet.getSheetId();
var range = sheet.getRange("A2:A" + sheet.getLastRow());
var values = range.getValues();
uniqueValues = values.flat().filter(onlyUnique)
var requests = uniqueValues.map((a) => ({ addFilterView: { filter: { title: a, range: { sheetId: sheetId, startRowIndex: 0, startColumnIndex: 0 }, filterSpecs: [{ columnIndex: 0, filterCriteria: { condition: { type: "TEXT_EQ", values: [{ userEnteredValue: a }] } } }] } } }));
var response = Sheets.Spreadsheets.batchUpdate({ requests }, ssId);
}
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
enable google sheets api