Google脚本getCalendarsByName返回具有相似名称的日历

时间:2018-11-22 07:13:52

标签: google-apps-script google-api google-calendar-api wildcard

我想执行一项功能,使我可以仅查询具有特定字符(即“#”)的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 :(得分:0)

getCalendarsByName方法不支持使用通配符搜索

  

getCalendarsByName(name)

     

以用户拥有或订阅的给定名称获取所有日历。名称不区分大小写。

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

参数

     

名称-日历名称

为此,Google Calendar API也不支持它,因此根本无法使用。您将必须全部下载它们并可能使用getAllCalendars在本地搜索它们