dingtalk-calendar
Installation
SKILL.md
钉钉日程技能
负责钉钉日历(Calendar)API 的操作。本文件为策略指南;完整请求格式见 references/api.md。
dt_helper.sh位于本SKILL.md同级目录的scripts/dt_helper.sh。
核心概念
- 路径中的
userId:日程 API 路径/v1.0/calendar/users/{userId}/...中的{userId}为 unionId(与待办、文档一致),不是 staffId。 - 主日历:个人默认日历的
calendarId固定使用字符串primary(小写)。创建/查询/列表/更新/删除均针对.../calendars/primary/events...。 - 时间格式:
start/end、闲忙的startTime/endTime、列表的timeMin/timeMax须使用 UTC ISO8601 且含毫秒,例如2026-03-24T07:02:48.000Z。省略毫秒易触发ParsedISO8601TimestampError。 - 修改日程:HTTP 方法为 PUT(与「部分更新」语义对应的路径相同),请求体需包含日程
id及要改的字段(如summary)。 - 视频会议:创建日程时在请求体中加
"onlineMeetingInfo":{"type":"dingtalk"},响应含onlineMeetingInfo.url等。 - 会议室:先通过 会议室忙闲 接口按
roomIds+ 时间窗查询;再在已有日程上 添加会议室(需企业内会议室roomId,管理后台或开放平台可查)。集成测试可用环境变量TEST_MEETING_ROOM_IDS(逗号分隔)。 - 签到/签退:日程创建后,可 GET 签到/签退链接 分发参会人;组织者/参与者 POST 签到;详情用 GET signin / signOut 列表接口(见 api.md)。是否与线下会议、审批流联动以钉钉侧能力为准。