用途
gws-calendar 是 Google Workspace CLI(gws)提供的 Google Calendar v3 命令行技能,用于在终端中管理日历与日历事件。其基本调用形式为:
gws calendar <resource> <method> [flags]
前置条件
使用前需阅读 ../gws-shared/SKILL.md,以了解认证、全局标志和安全规则。如果该文件缺失,可运行:
gws generate-skills
辅助命令
+insert:创建新事件。+agenda:显示所有日历中即将到来的事件。
API 资源与主要方法
acl(访问控制规则)
包含 delete(删除访问控制规则)、get(返回访问控制规则)、insert(创建访问控制规则)、list(返回日历访问控制列表中的规则)、patch(更新,支持 patch 语义)、update(更新)、watch(监听 ACL 资源变更)。
calendarList(用户日历列表)
包含 delete(从用户日历列表移除日历)、get(返回列表中某日历)、insert(将已有日历插入用户列表)、list(返回用户列表中的日历)、patch(更新,支持 patch 语义)、update(更新)、watch(监听 CalendarList 资源变更)。
calendars(日历本身)
包含 clear(清空主日历,删除该账户主日历关联的所有事件)、delete(删除次级日历;清空主日历事件应使用 calendars.clear)、get(返回日历元数据)、insert(创建次级日历;请求的已认证用户将成为新日历的数据所有者。文档建议认证为预期的数据所有者,可使用域范围授权让应用代表特定用户操作;不建议使用服务账号认证,否则服务账号将成为数据所有者,可能导致意外行为)、patch(更新元数据,支持 patch 语义)、update(更新元数据)。
channels
包含 stop(停止通过该渠道监听资源)。
colors
包含 get(返回日历和事件的颜色定义)。
events(事件)
包含 delete(删除事件)、get(依据 Google Calendar ID 返回事件;若要使用 iCalendar ID 检索,需以 iCalUID 参数调用 events.list)、import(导入事件,用于将已有事件的私有副本添加到日历,仅 eventType 为 default 的事件可导入;若导入非 default 事件,其类型会被改为 default 且相关类型专有属性会被丢弃)、insert(创建事件)、instances(返回指定重复事件的实例)、list(返回指定日历上的事件)、move(将事件移动到另一日历,即更改事件组织者;仅 default 事件可移动,birthday、focusTime、fromGmail、outOfOffice 和 workingLocation 事件不可移动)、patch(更新事件,支持 patch 语义)、quickAdd(依据简单文本字符串创建事件)、update(更新事件)、watch(监听 Events 资源变更)。
freebusy
包含 query(返回一组日历的空闲/忙碌信息)。
settings
包含 get(返回单个用户设置)、list(返回已认证用户的所有设置)、watch(监听 Settings 资源变更)。
使用方式:发现命令
在调用任何 API 方法前,应先查看其信息:
# 浏览资源与方法
gws calendar --help
# 查看某方法的必填参数、类型与默认值
gws schema calendar.<resource>.<method>
使用 gws schema 的输出构建 --params 与 --json 标志。
适用场景与限制
该技能适用于通过命令行脚本化地管理 Google 日历、事件、访问控制、空闲/忙碌查询与用户设置等。限制方面:部分操作存在明确约束,例如仅 default 事件可被移动或导入,非 default 事件导入后类型会被改变且丢失类型专有属性;主日历的清空需使用 calendars.clear,而删除次级日历使用 calendars.delete;创建次级日历建议以预期数据所有者身份认证,不建议使用服务账号。关于认证细节、全局标志与安全规则,需查阅 ../gws-shared/SKILL.md;其余未在资料中说明的内容暂未提供。