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