7.9 KiB
7.9 KiB
日历 (calendar) 命令参考
命令总览
查询日程列表
Usage:
dws calendar event list [flags]
Example:
dws calendar event list --start "2026-03-10T14:00:00+08:00" --end "2026-03-10T18:00:00+08:00"
Flags:
--end string 结束时间 ISO-8601 (例如 2026-03-10T18:00:00+08:00)
--start string 开始时间 ISO-8601 (例如 2026-03-10T14:00:00+08:00)
获取日程详情
Usage:
dws calendar event get [flags]
Example:
dws calendar event get --id <EVENT_ID>
Flags:
--id string 日程 ID (必填)
创建日程
Usage:
dws calendar event create [flags]
Example:
dws calendar event create --title "Q1 复盘会" \
--start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00"
dws calendar event create --title "Q1 复盘会" \
--start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00" \
--attendees userId1,userId2 --timezone "Asia/Shanghai" --desc "Q1 复盘"
Flags:
--attendees string 参会人 userId 列表 (逗号分隔)
--desc string 日程描述
--end string 结束时间 ISO-8601 (必填)
--open-dingtalk-ids string 参会人 openDingTalkId 列表 (逗号分隔)
--start string 开始时间 ISO-8601 (必填)
--timezone string 时区 (如 Asia/Shanghai)
--title string 日程标题 (必填)
修改日程
Usage:
dws calendar event update [flags]
Example:
dws calendar event update --id <EVENT_ID> --title "新标题"
dws calendar event update --id <EVENT_ID> --desc "议程调整" --timezone "Asia/Shanghai"
Flags:
--desc string 新描述
--end string 新结束时间
--id string 日程 ID (必填)
--start string 新开始时间
--timezone string 时区 (如 Asia/Shanghai)
--title string 新标题
删除日程
Usage:
dws calendar event delete [flags]
Example:
dws calendar event delete --id <EVENT_ID> --yes
Flags:
--id string 日程 ID (必填)
推荐会议时间
Usage:
dws calendar event suggest [flags]
Example:
dws calendar event suggest --users <USER_ID_1>,<USER_ID_2> \
--start "2026-03-10T09:00:00+08:00" --end "2026-03-10T18:00:00+08:00" --duration 30
Flags:
--duration string 会议时长(分钟)
--end string 候选时段结束时间 ISO-8601 (必填)
--start string 候选时段开始时间 ISO-8601 (必填)
--timezone string 时区 (如 Asia/Shanghai)
--users string 参会人 userId 列表 (必填)
基于参会人闲忙数据给出排名后的候选时段,比 busy search 直接给出原始忙闲更适合"帮我约"场景。
查看参与者
Usage:
dws calendar participant list [flags]
Example:
dws calendar participant list --event <EVENT_ID>
Flags:
--event string 日程 ID (必填)
添加参与者
Usage:
dws calendar participant add [flags]
Example:
dws calendar participant add --event <EVENT_ID> --users <USER_ID_1>,<USER_ID_2>
Flags:
--event string 日程 ID (必填)
--users string 用户 ID 列表 (必填)
移除参与者
Usage:
dws calendar participant delete [flags]
Example:
dws calendar participant delete --event <EVENT_ID> --users <USER_ID> --yes
Flags:
--event string 日程 ID (必填)
--users string 用户 ID 列表 (必填)
搜索会议室
Usage:
dws calendar room search [flags]
Example:
dws calendar room search --start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00" --available
dws calendar room search --start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00" --group-id <GROUP_ID>
Flags:
--available 仅查空闲会议室
--end string 结束时间 ISO-8601 (必填)
--group-id string 会议室分组ID(可选,留空查根目录;超100条时需按分组查询)
--start string 开始时间 ISO-8601 (必填)
预定会议室
Usage:
dws calendar room add [flags]
Example:
dws calendar room add --event <EVENT_ID> --rooms <ROOM_ID>
Flags:
--event string 日程 ID (必填)
--rooms string 会议室 ID 列表 (必填)
移除会议室
Usage:
dws calendar room delete [flags]
Example:
dws calendar room delete --event <EVENT_ID> --rooms <ROOM_ID> --yes
Flags:
--event string 日程 ID (必填)
--rooms string 会议室 ID 列表 (必填)
会议室分组列表
Usage:
dws calendar room list-groups [flags]
Example:
dws calendar room list-groups
查询用户闲忙状态
Usage:
dws calendar busy search [flags]
Example:
dws calendar busy search --users <USER_ID_1>,<USER_ID_2> \
--start "2026-03-10T14:00:00+08:00" --end "2026-03-10T18:00:00+08:00"
Flags:
--end string 结束时间 ISO-8601 (必填)
--start string 开始时间 ISO-8601 (必填)
--users string 用户 ID 列表 (必填)
意图判断
用户说"日程/会议/约会/日历":
- 查看 →
event list - 详情 →
event get - 创建/约 →
event create - 修改/改时间 →
event update - 取消/删除 →
event delete - 帮我约/找个大家都有空的时间 →
event suggest
用户说"参会人/与会者":
- 查看 →
participant list - 邀请/添加 →
participant add - 移除 →
participant delete
用户说"会议室/订会议室":
- 哪个空闲 →
room search - 预定 →
room add - 取消预定 →
room delete - 分组 →
room list-groups,取 groupId 后room search --group-id
用户说"有空吗/忙不忙/闲忙":
- 要原始闲忙块 →
busy search - 要直接给时段候选 →
event suggest
核心工作流
# 1. 创建日程 — 提取 eventId
dws calendar event create --title "Q1 复盘会" \
--start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00" --format json
# 2. 添加参与者
dws calendar participant add --event <EVENT_ID> --users userId1,userId2 --format json
# 3. 预定会议室 (先搜空闲)
dws calendar room search --start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00" --format json
# 若返回错误(会议室超100条),先查分组再按分组搜索:
# dws calendar room list-groups --format json
# dws calendar room search --start ... --end ... --group-id <GROUP_ID> --format json
dws calendar room add --event <EVENT_ID> --rooms <ROOM_ID> --format json
# 4. 查看日程列表
dws calendar event list --start "2026-03-10T14:00:00+08:00" --end "2026-03-10T15:00:00+08:00" --format json
上下文传递表
| 操作 | 从返回中提取 | 用于 |
|---|---|---|
event create |
eventId |
participant/room 操作的 --event |
event list |
events[].eventId |
event get/update/delete 的 --id |
room search |
rooms[].roomId |
room add 的 --rooms |
room list-groups |
groups[].groupId |
room search 的 --group-id |
注意事项
- 时间格式:
event create/update、event list和busy search用 ISO-8601 - 创建日程不会自动预定会议室,需额外
room add room search不带--group-id时查根目录;企业会议室超过 100 条会报错,此时需先room list-groups获取分组,再按分组逐一查询
自动化脚本
| 脚本 | 场景 | 用法 |
|---|---|---|
| calendar_today_agenda.py | 查看今天/明天/本周日程安排 | python calendar_today_agenda.py today |
| calendar_schedule_meeting.py | 一键创建日程+添加参与者+预定会议室 | python calendar_schedule_meeting.py --title "复盘会" --start "2026-03-15T14:00" --end "2026-03-15T15:00" --users userId1 --book-room |
| calendar_free_slot_finder.py | 查询多人共同空闲时段 | python calendar_free_slot_finder.py --users userId1,userId2 --date 2026-03-15 |