我们可以使用 CalendarApp 查看来自我们订阅的非 Google 日历(例如 Trello 日历)的事件吗?

Can we use CalendarApp to see events from a non-Google calendar that we are subscribed to (ex. Trello calendar)?

一直在使用 CalendarApp 帮助将来自不同帐户的多个 Google 日历聚合到一个格式良好的电子表格中,该电子表格一直运行良好。但是,我们不仅希望将这些日历合并到系统中,而且一直无法从我们订阅的导入日历中检索数据。

此日历来自 Trello(使用 power-up 根据截止日期创建日历)它提供 URL 供我们订阅 Google。当我尝试使用相同的 CalendarApp.getCalendarById(calendarId) 时,它似乎无法访问事件数据和 returns null

作为参考,这里是日历 ID:mp9si8iqi6uop4a20pr0r1v000dc9pcu@import.calendar.google.com。格式与以 @group.calendar.google.com.

结尾的 Google 日历略有不同

我们是否可以从这些导入的日历中访问日历信息?我也试过 .getCalendarsByName(calendarName) 但没有成功,但是有没有其他方法可以查看此数据并将其包含在我们的日历电子表格中?感谢您的帮助!

编辑(应要求)

如果我不清楚,我尝试了以下方法:

calendarId = "mp9si8iqi6uop4a20pr0r1v000dc9pcu@import.calendar.google.com";
CalendarApp.getCalendarById(calendarId);
//and
calendarName = "Collab, Events & Special Buy";
CalendarApp.getCalendarsByName(calendarName);

只有这个由 Trello 管理的日历有问题

您绝对可以从导入的日历中获取信息。请尝试使用以下代码:

function myFunction() {
  var calendarId = "YOUR_CALENDAR_ID";
  var cal = CalendarApp.getCalendarById(calendarId);
  Logger.log(cal.getName());
  Logger.log(cal.getDescription());
  Logger.log(cal.getTimeZone());
  Logger.log(cal.getColor());
}

运行 它,然后导航到“查看”>“日志”。您应该能够看到日历的信息。我建议您也尝试以下操作:

使用"Try this API"功能