谷歌脚本:如何从谷歌日历中获取周期性事件



各种网站上都有一个流行的脚本,可以轻松地将谷歌日历事件导出到谷歌电子表格中。它运行良好。。。只是它不适用于重复发生的事件。

以下是代码的关键:

var mycal = "sample@gmail.com";
var cal = CalendarApp.getCalendarById(mycal);
var events = cal.getEvents(new Date(startDate), new Date(endDate));

然后只需要遍历"events"的成员。问题似乎是以"getEvents"无法理解的另一种方式定义重复发生的事件。因此,对只包含重复事件的日期范围的查询一无所获。

我想知道是否有人写过一些代码,可以正确地查询重复发生的事件?

Robert

您的假设是不正确的,返回的重复事件与其他事件完全一样。

我不知道你用的是什么脚本,但如果你不能得到重复发生的事件,那么我想这个脚本就是不好。

我不会在这里发布整个代码,因为我使用的版本有点长,但你可以复制这个电子表格并自己测试。

https://docs.google.com/spreadsheets/d/1h0uAYz7fAChbnhIfWwy-xYluomDsfkqblBRHcGNwThY/edit?usp=sharing

从菜单中运行opOpen一次以获得授权,然后使用电子表格菜单。您将获得一个UI,要求您定义要使用的日历以及开始/结束日期。这些值将存储在属性中以备下次使用

Serge,你是对的,它确实处理重复交付。我的失败是除了日期之外还包括了开始时间和结束时间。一旦我这样做了,通过一个简单的字符串连接,然后一切都正常工作。

感谢您的反馈!

Robert