1

我正在开发一个将事件数据与外部服务同步的 Google 日历插件。获取事件的标题、描述、日期等数据很容易,我什至可以使用event.isRecurringEvent().

我似乎无法找到的是如何获取特定事件的重复规则。这甚至可能吗?https://developers.google.com/apps-script/reference/calendar/calendar-eventhttps://developers.google.com/apps-script/reference/calendar/calendar-event-series都没有类似的东西getRecurrenceRule()

谢谢你的帮助!

4

1 回答 1

2

如果我对您的理解正确,您在 Google Apps 脚本中有一个CalendarEvent并且您希望获得它的重复。

正如您所说,由于没有类似 的方法getRecurrenceRule(),因此您必须激活高级日历服务并调用Events: get以获取有关事件重复发生的信息。如果event是您的CalendarEvent,您可以通过执行以下操作来检索有关重复的信息:

eventId = event.getId().split("@")[0];
var eventFromAPI = Calendar.Events.get(calId, eventId);
var recurrence = eventFromAPI["recurrence"];
return recurrence;

笔记:

  • 我正在使用split删除@返回的字符串后面的字符event.getId(),因为它附加了@google.com.
  • recurrence是“重复事件的 RRULE、EXRULE、RDATE 和 EXDATE 行列表,如 RFC5545 中所指定。即使这包含事件重复发生的信息,它也不是 Apps Script 类RecurrenceRule的实例。据我所知,没有办法退货。

参考:

我希望这有任何帮助。

于 2020-02-07T12:05:44.460 回答