Можно ли использовать регулярное выражение с параметром поиска в CalendarApp.getEvents ()? - PullRequest
1 голос
/ 21 октября 2019

Я пытаюсь отфильтровать события в Календаре Google по имени, используя getEvents (startTime, endTime, options) , но необходимо исключить некоторые специальные события.

var events = cal.getEvents(new Date("September 27, 2019 00:00:00 CST"), new Date("February 18, 2020 23:59:59 CST"), {search: 'MyEvent.*(VO|UE)'});

Есть лиспособ получить только события, которые содержат "MyEvent", но также "VO" или "UE"?

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Я не уверен насчет регулярных выражений, но вы можете использовать необязательный q параметр конечной точки API календаря Events.list для выполнения поиска в произвольном тексте.

Использование этого термина в основном задокументировано в Drive API , но эти руководства должны быть применимы (хотя бы частично) и к API Календаря.

Обратите внимание, что вам придется воспользоваться либо Advanced Service для Календаря Google, либо напрямую запросить API REST Calendar, используя UrlFetchApp.fetch().

0 голосов
/ 21 октября 2019

На данный момент невозможно запрашивать ваши события с помощью API или скрипта приложений.

Однако этого можно достичь, отфильтровав информацию с помощью функции filter().

Это будет выглядеть так:

function myFunction() {
  var cal = CalendarApp.getDefaultCalendar();
  var events = cal.getEvents(new Date("September 27, 2019 00:00:00 CST"), new Date("February 18, 2020 23:59:59 CST"), {search: 'MyEvent'}); //Still searching for MyEvent since that needs to be always present.
  var filteredEvents = events.filter(function  (event) {
                                     return event.getTitle().match('MyEvent.*(VO|UE)')!==null;
                                     });
  Logger.log(filteredEvents.map(function(event) { return event.getTitle(); }));
}

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...