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