首页 > 解决方案 > 是否可以在 CalendarApp.getEvents() 中使用带有搜索参数的正则表达式?

问题描述

我正在尝试使用getEvents(startTime, endTime, options)按名称过滤我的 Google 日历事件,但需要排除一些特殊事件。

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”的事件?

标签: regexgoogle-apps-scriptgoogle-calendar-api

解决方案


截至目前,无法使用 API 或 Apps 脚本查询您的事件。

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(); }));
}

我希望这可以帮助你!


推荐阅读