Google Scripts getCalendarsByName для возврата календарей с похожими именами - PullRequest
0 голосов
/ 22 ноября 2018

Я бы хотел выполнить функцию, которая позволяет мне опрашивать только те календари Google, в которых есть определенный символ, а именно "#".

Я знаю, что функция CalendarApp.getCalendarsByName возвращает массив календарей, поэтому я надеялся, что смогу использовать эту функцию вместе с подстановочными знаками, чтобы вернуть нужные мне календари.Я получил несколько советов по использованию подстановочных знаков здесь https://productforums.google.com/forum/#!topic/calendar/gmf6ewpjH4g/

Вот код на данный момент:

function Test() {  
  var pattern = /.*#.*/;
  var calendarsz = CalendarApp.getCalendarsByName(pattern); 
  Logger.log('Found %s matching calendars.', calendarsz.length);
};

Но он вообще не возвращает календари.Будем благодарны за любые предложения о том, как использовать подстановочные знаки с этой функцией, или об альтернативных подходах к возврату только календарей с определенными символами.

1 Ответ

0 голосов
/ 22 ноября 2018

Метод getCalendarsByName не поддерживает поиск с использованием подстановочного знака

getCalendarsByName (name)

Получает все календари с заданным именем, которое принадлежит пользователю илиподписан на.Имена не чувствительны к регистру.

// Gets the public calendar named "US Holidays".
var calendars = CalendarApp.getCalendarsByName('US Holidays');
Logger.log('Found %s matching calendars.', calendars.length);

Параметры

Имя - название календаря

В этом отношении API Календаря Googleтоже не поддерживает, так что вообще не будет работать.Вам нужно будет загрузить их все и выполнить локальный поиск, возможно, используя getAllCalendars

...