通过高级日历服务,您可以在 Apps 脚本中使用公共 Google 日历 API。与 Apps 脚本的内置日历服务类似,此 API 允许脚本访问和修改用户的 Google 日历,包括用户订阅的其他日历。在大多数情况下,内置服务更易于使用,但此高级服务提供了一些额外的功能,包括设置各个事件的背景颜色。
参考
如需详细了解此服务,请参阅公共 Google Calendar API 的参考文档。与 Apps 脚本中的所有高级服务一样,高级日历服务使用与公共 API 相同的对象、方法和参数。如需了解详情,请参阅如何确定方法签名。
如需报告问题并寻求其他支持,请参阅 Google 日历支持指南。
HTTP 请求标头
高级日历服务可以接受 HTTP 请求标头 If-Match
和 If-None-Match
。如需了解详情,请参阅参考文档。
示例代码
以下示例代码使用了该 API 的版本 3。
创建事件
以下示例演示了如何在用户的默认日历中创建活动。
列出日历
以下示例演示了如何检索用户日历列表中显示的日历的详细信息。
列出事件
以下示例演示了如何列出用户默认日历中接下来的 10 个即将进行的活动。
有条件地修改事件
以下示例展示了如何使用 If-Match
标头有条件地更新日历活动。该脚本会创建新事件,等待 30 秒,然后仅在事件创建后没有任何事件详细信息发生更改时更新事件。
有条件地检索事件
以下示例展示了如何使用 If-None-Match
标头有条件地提取日历活动。该脚本会创建一个新事件,然后以 30 秒的时间轮询该事件以获取更改。每当事件发生变化时,系统都会提取新版本。
同步活动
以下示例演示了如何使用同步令牌检索事件。 如果您在 Google 日历高级服务请求中包含同步令牌,生成的响应将仅包含自该令牌生成以来发生了更改的项,从而实现更高效的处理。如需详细了解同步过程,请参阅高效同步资源。
以下示例使用上面示例中定义的同一 getRelativeDate(daysOffset, hour)
方法。