feishu-calendar

飞书日历。创建日程、查询日程、更新日程。

By alextangson · 1,234 installs

npx skills add alextangson/feishu_skills --skill feishu-calendar

Source repository · Upstream listing

飞书日历 通过 Calendar API 管理日程。 Base URL : https://open.feishu.cn/open apis/calendar/v4 认证与 Token 获取 从 feishu skills 根目录执行共享脚本: 请求头统一使用 Authorization: Bearer ${TOKEN} 。 如果业务接口返回 token 无效、过期或 401,强制刷新后仅重试一次原请求: 环境变量 : FEISHU APP ID FEISHU APP SECRET 本地缓存 : ./.feishu token cache.json (未过期直接复用,默认提前 5 分钟刷新) 日程操作 API 端点 方法 请求体示例 说明 创建日程 /calendars/{calendar id}/events POST {"summary":"会议标题","start time":{"timestamp":"1770508800"},"end time":{"timestamp":"1770512400"}} 创建新日程 获取日程 /calendars/{calendar id}/events/{event id} GET 查询日程详情 更新日程 /calendars/{calendar id}/events/{event id} PATCH {"summary":"新标题"} 修改日程 删除日程 /calendars/{calendar id}/events/{event id} DELETE 删除日程 搜索日程 /calendars/{calendar id}/events/search POST {"query":"关键词","start time":{"timestamp":"1770508800"}} 条件搜索 获取日程列表 /calendars/{calendar id}/events GET 查询日历下所有日程 创建日程 : attendees type : user / chat / resource (会议室) 日程参与人 API 端点 方法 请求体示例 说明 获取参与人 /calendars/{calendar id}/events/{event id}/attendees GET 查询参与人列表 添加参与人 /calendars/{calendar id}/events/{event id}/attendees POST {"attendees":[{"type":"user","attendee id":"ou xxx"}]} 邀请参与人 删除参与人 /calendars/{calendar id}/events/{event id}/attendees/{attendee id} DELETE 移除参与人 获取参与群成员 /calendars/{calendar id}/events/{event id}/attendees/chat members GET 查询群参与成员 日历管理 API 端点 方法 请求体示例 说明 获取日历列表 /calendars GET 查询参数: page size=50&page token=xxx 查询所有日历(分页) 获取主日历 /calendars/primary GET 查询用户主日历 创建日历 /calendars POST {"summary":"日历名称","description":"描述","permissions":"public"} 创建共享日历 获取日历 /calendars/{calendar id} GET 查询日历详情 更新日历 /calendars/{calendar id} PATCH {"summary":"新名称"} 修改日历 删除日历 /calendars/{calendar id} DELETE 删除日历 搜索日历 /calendars/search POST {"query":"关键词"} 搜索日历 日历订阅与 ACL API 端点 方法 请求体示例 说明 获取 ACL 列表 /calendars/{calendar id}/acls GET 查询日历权限 创建 ACL /calendars/{calendar id}/acls POST {"role":"reader","scope":{"type":"user","user id":"ou xxx"}} 添加权限 删除 ACL /calendars/{calendar id}/acls/{acl id} DELETE 移除权限 订阅日历 /calendars/{calendar id}/subscribe POST 订阅日历变更 取消订阅 /calendars/{calendar id}/unsubscribe POST 取消日历订阅 订阅日程事件 /calendars/{calendar id}/events/subscribe POST 订阅日程变更 取消日程订阅 /calendars/{calendar id}/events/unsubscribe POST 取消日程订阅 ACL role : none / free busy reader / reader / writer / owner 会议室管理 API 端点 方法 请求体示例 说明 获取会议室列表 /rooms GET 查询所有会议室 获取会议室 /rooms/{room id} GET 查询会议室详情 查询会议室忙闲 /rooms/{room id}/freebusy GET 查询会议室可用时间 创建日程并占用会议室 占用会议室的关键:在 attendees 中添加 type: "resource" 的参与人, attendee id 填会议室的 room id 。 完整流程 : ⚠️ 若会议室在该时段已被占用,创建请求会返回冲突错误,请先查询忙闲再预订。 常见参数说明 时间格式 : timestamp : 秒级时间戳(如 "1770508800" ) date : 日期字符串(如 "2026 03 07" ) 分页参数 : page size : 每页数量(默认 50,最大 500) page token : 分页标记(从上次响应获取) user id type : 用户 ID 类型 open id (默认) user id union id 测试示例 获取日历列表 : 创建日程 : 最佳实践 1. 时间用秒级时间戳 2. attendees 指定类型 (user/chat/resource) 3. 分页查询 :大量数据用 page token 分页 4. 主日历 :用户个人日历用 primary 作为 calendar id