Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计提醒

feishu-calendar-event飞书日历事件

Agent Skill

feishu-calendar-event 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

34,324

周安装

1,416

GitHub Stars

2

下载量

11,215
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:feishu-calendar-event(飞书日历事件)
来源仓库:https://github.com/teweitao/feishu-calendar-event
安装命令:
openclaw skills install feishu-calendar-event
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install feishu-calendar-event

简介

飞书日历管理技能,支持获取日历列表、查询、创建、更新、删除行程及设置重复和多级提醒。

SKILL.md

Feishu Calendar Skill

飞书日历操作技能,用于读取、创建、管理飞书日历事件,支持个人和企业日历操作。

基本信息

  • 名称: feishu-calendar
  • 版本: 1.0.0
  • 作者: nuonuo
  • 描述: 飞书日历管理技能,支持日程查询、创建、更新、删除和重复规则设置
  • 标签: feishu, calendar, 日历, 飞书
  • 依赖: Node.js >= 18

功能特性

✅ 获取日历列表 ✅ 查询日程事件(支持时间范围、分页) ✅ 创建日程(支持全天事件、定时事件) ✅ 更新日程(修改内容、设置重复规则) ✅ 删除日程 ✅ 设置提醒(支持多层级提醒) ✅ 支持每年/每月/每周重复 ✅ 正确处理时区和全天事件

安装

  1. 复制 feishu-calendar 目录到你的 OpenClaw skills 目录
  2. 配置飞书应用凭证(见下方配置说明)
  3. 在飞书开放平台开通日历权限

配置

1. 创建飞书应用

访问 飞书开放平台 创建企业自建应用:

  1. 点击「创建企业自建应用」
  2. 填写应用名称(如「日历助手」)
  3. 进入「权限管理」开通以下权限:

- calendar:calendar:read - 读取日历 - calendar:calendar.event:read - 读取日程 - calendar:calendar.event:create - 创建日程 - calendar:calendar.event:update - 更新日程 - calendar:calendar.event:delete - 删除日程

2. 获取凭证

在「凭证与基础信息」中获取:

  • App ID: cli_xxxxxxxxxxxx
  • App Secret: xxxxxxxxxxxxx

3. 配置环境变量

# 在 OpenClaw 环境或脚本中设置
export FEISHU_APP_ID=cli_xxxxxxxxxxxx
export FEISHU_APP_SECRET=xxxxxxxxxxxxx

或者在代码中直接使用:

const config = {
  appId: 'cli_xxxxxxxxxxxx',
  appSecret: 'xxxxxxxxxxxxx'
};

使用方法

获取 Access Token

const response = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    app_id: FEISHU_APP_ID,
    app_secret: FEISHU_APP_SECRET
  })
});

const { tenant_access_token } = await response.json();

获取日历列表

const calendars = await fetch('https://open.feishu.cn/open-apis/calendar/v4/calendars?page_size=100', {
  headers: { 'Authorization': `Bearer ${tenant_access_token}` }
});

获取日程事件

// 时间戳格式(秒)
const startTime = Math.floor(new Date('2026-03-01T00:00:00+08:00').getTime() / 1000);
const endTime = Math.floor(new Date('2026-03-01T23:59:59+08:00').getTime() / 1000);

const events = await fetch(
  `https://open.feishu.cn/open-apis/calendar/v4/calendars/${calendarId}/events?start_time=${startTime}&end_time=${endTime}`,
  { headers: { 'Authorization': `Bearer ${tenant_access_token}` } }
);

创建日程

// 全天事件示例
const event = {
  summary: '🎂 生日',
  description: '祝生日快乐!',
  start_time: { date: '2026-05-01', timezone: 'Asia/Shanghai' },
  end_time: { date: '2026-05-01', timezone: 'Asia/Shanghai' },
  is_all_day: true,
  reminders: [
    { minutes: 7200 },  // 提前5天
    { minutes: 1440 }   // 提前1天
  ],
  recurrence: 'FREQ=YEARLY;INTERVAL=1'  // 每年重复
};

const result = await fetch(`https://open.feishu.cn/open-apis/calendar/v4/calendars/${calendarId}/events`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${tenant_access_token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(event)
});

更新日程为每年重复

const update = {
  recurrence: 'FREQ=YEARLY;INTERVAL=1'
};

await fetch(`https://open.feishu.cn/open-apis/calendar/v4/calendars/${calendarId}/events/${eventId}`, {
  method: 'PATCH',
  headers: {
    'Authorization': `Bearer ${tenant_access_token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(update)
});

API 参考

功能方法API 路径
获取 TokenPOST/auth/v3/tenant_access_token/internal
获取日历列表GET/calendar/v4/calendars
获取日程GET/calendar/v4/calendars/{calendar_id}/events
创建日程POST/calendar/v4/calendars/{calendar_id}/events
更新日程PATCH/calendar/v4/calendars/{calendar_id}/events/{event_id}
删除日程DELETE/calendar/v4/calendars/{calendar_id}/events/{event_id}

字段说明

时间格式

全天事件

{
  "start_time": { "date": "2026-05-01", "timezone": "Asia/Shanghai" },
  "end_time": { "date": "2026-05-01", "timezone": "Asia/Shanghai" },
  "is_all_day": true
}

定时事件

{
  "start_time": { "timestamp": "1772366400", "timezone": "Asia/Shanghai" },
  "end_time": { "timestamp": "1772373600", "timezone": "Asia/Shanghai" }
}

重复规则

规则说明
FREQ=DAILY;INTERVAL=1每天重复
FREQ=WEEKLY;INTERVAL=1每周重复
FREQ=MONTHLY;INTERVAL=1每月重复
FREQ=YEARLY;INTERVAL=1每年重复

提醒设置

{
  "reminders": [
    { "minutes": 5 },      // 提前5分钟
    { "minutes": 60 },     // 提前1小时
    { "minutes": 1440 },   // 提前1天
    { "minutes": 7200 }    // 提前5天
  ]
}

注意事项

  1. Token 有效期: tenant_access_token 有效期 2 小时,生产环境需要缓存和刷新机制
  2. 时间戳单位: 飞书 API 使用 Unix 时间戳(秒),JavaScript Date 使用毫秒,注意转换
  3. 时区处理: 建议统一使用 Asia/Shanghai 时区
  4. 全天事件: 使用 date 字段而非 timestamp,并设置 is_all_day: true
  5. 已取消事件: API 会返回 status: cancelled 的事件,需要过滤
  6. 分页处理: 大量事件需要处理 has_morepage_token

示例代码

example.mdcalendar-client.js 获取完整示例。

故障排除

问题解决方案
99991661 - Missing access token检查 token 是否正确传递
403 - 权限不足在飞书后台开通相应权限
事件查询不到扩大时间范围,检查是否已取消
创建失败检查必填字段(summary, start_time, end_time)

参考文档

更新日志

v1.0.0 (2026-03-01)

  • ✅ 初始版本发布
  • ✅ 支持日历列表查询
  • ✅ 支持日程增删改查
  • ✅ 支持重复规则设置
  • ✅ 支持多层级提醒
  • ✅ 正确处理全天事件和时区

License: MIT Author: nuonuo Repository: https://github.com/openclaw-community/feishu-calendar

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

74.25%
按下载量换算8,327

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills