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