用途
本配方用于跨多个 Google Calendar 账户查询忙/闲状态,从而找到所有参与者都空闲的会议时间段。它解决的是多人协调会议时逐个查看日历、手动比对空闲时段的效率问题。
主要能力
- 查询忙/闲状态:调用
gws calendar freebusy query命令,一次性获取多个用户的空闲与忙碌时段。 - 识别重叠空闲时间:根据查询输出,人工或程序化地找出所有参与者共同的空闲窗口。
- 创建会议事件:在选定的空闲时段调用
gws calendar +insert命令创建事件并邀请参与者。
使用方式
前置条件
执行此配方前必须加载以下技能:
gws-calendar
步骤一:查询忙/闲状态
gws calendar freebusy query --json '{"timeMin": "2024-03-18T08:00:00Z", "timeMax": "2024-03-18T18:00:00Z", "items": [{"id": "user1@company.com"}, {"id": "user2@company.com"}]}'
该命令会返回指定时间范围内每个参与者的忙/闲信息。
步骤二:查看输出并确定重叠空闲时段
检查上一步的输出,找出所有参与者均为空闲的时间段。
步骤三:在空闲时段创建事件
gws calendar +insert --summary 'Meeting' --attendee user1@company.com --attendee user2@company.com --start '2024-03-18T14:00:00' --end '2024-03-18T14:30:00'
适用场景
- 需要为多位同事安排会议,且希望快速找到共同空闲时间。
- 将日程协调过程自动化,作为更大工作流的一部分。
- 跨团队或跨时区协调会议时间(需自行处理时区转换)。
限制
- 依赖
gws-calendar技能,未加载时无法执行。 - 需要参与者日历的访问权限。
- 查询结果的重叠分析在示例中由人工完成,配方本身未说明是否包含自动计算重叠空闲时段的步骤。
- 创建事件时使用的
--start与--end时间格式与查询时的 ISO 8601 格式不同,需注意格式差异。