飞书日历管理(中文版)
v4飞书日历管理技能。用于查询日程、创建事件、查询忙闲状态。当用户询问日程、会议、日历相关问题时使用此技能。触发条件:(1) 用户询问今天的日程/明天的日程/某天的日程 (2) 用户要求创建日程/添加会议/新建事件 (3) 用户询问日历/日程安排 (4) 用户提到飞书日历相关需求。
运行时依赖
安装命令
点击复制技能文档
飞书日历技能
用于管理个人飞书日历,包括查询日程、创建事件、查询忙闲状态等功能。
前置配置
使用此技能前需要完成 OAuth 授权,详见 OAuth 配置指南。
配置文件
令牌 文件位置:~/.OpenClaw/workspace/技能s/feishu-calendar/scripts/.user_令牌.json
{ "访问_令牌": "u-xxx", "refresh_令牌": "ur-xxx", "calendar_id": "feishu.cn_xxx@group.calendar.feishu.cn" }
使用方法 查询日程 # 读取配置 $令牌File = "$env:USER性能分析\.OpenClaw\workspace\技能s\feishu-calendar\scripts\.user_令牌.json" $config = 获取-Content $令牌File | ConvertFrom-Json
# 查询今天的日程 $启动Time = [int][double]::解析((获取-Date -Date (获取-Date).Date -U格式化 %s)) $endTime = $启动Time + 86400
$结果 = Invoke-RestMethod -Uri "https://open.feishu.cn/open-APIs/calendar/v4/calendars/$($config.calendar_id)/事件?启动_time=$启动Time&end_time=$endTime" -Method 获取 -Headers @{ Authorization = "Bearer $($config.访问_令牌)" }
$结果.data.items | ForEach-Object { Write-Host "$($_.summary) - $(获取-Date -UnixTimeSeconds $_.启动_time.timestamp -格式化 'HH:mm') 到 $(获取-Date -UnixTimeSeconds $_.end_time.timestamp -格式化 'HH:mm')" }
创建日程 # 读取配置 $令牌File = "$env:USER性能分析\.OpenClaw\workspace\技能s\feishu-calendar\scripts\.user_令牌.json" $config = 获取-Content $令牌File | ConvertFrom-Json
# 设置时间 $启动Time = [int][double]::解析((获取-Date -Date "2026-03-21 14:00:00" -U格式化 %s)) $endTime = [int][double]::解析((获取-Date -Date "2026-03-21 15:00:00" -U格式化 %s))
$body = @{ summary = "会议标题" 启动_time = @{ timestamp = $启动Time.ToString(); timezone = "Asia/ShanghAI" } end_time = @{ timestamp = $endTime.ToString(); timezone = "Asia/ShanghAI" } location = @{ name = "会议室A" } } | ConvertTo-Json -Depth 3
$结果 = Invoke-RestMethod -Uri "https://open.feishu.cn/open-APIs/calendar/v4/calendars/$($config.calendar_id)/事件" -Method Post -Body $body -ContentType "应用/json" -Headers @{ Authorization = "Bearer $($config.访问_令牌)" }
if ($结果.code -eq 0) { Write-Host "✅ 日程创建成功" } else { Write-Host "❌ 创建失败: $($结果.msg)" }
令牌 刷新
令牌 有效期约 2 小时,过期后运行:
$令牌File = "$env:USER性能分析\.OpenClaw\workspace\技能s\feishu-calendar\scripts\.user_令牌.json" $config = 获取-Content $令牌File | ConvertFrom-Json
# 获取 应用_访问_令牌 $应用Body = @{ 应用_id = "命令行工具_a93bf9470db85cc2"; 应用_secret = "9QGw66iouZcjp3JrnaOC3gI1cHgTS8eF" } | ConvertTo-Json $应用令牌 = (Invoke-RestMethod -Uri "https://open.feishu.cn/open-APIs/auth/v3/应用_访问_令牌/internal" -Method Post -Body $应用Body -ContentType "应用/json").应用_访问_令牌
# 刷新 user_访问_令牌 $refreshBody = @{ grant_type = "refresh_令牌"; refresh_令牌 = $config.refresh_令牌 } | ConvertTo-Json $new令牌 = Invoke-RestMethod -Uri "https://open.feishu.cn/open-APIs/authen/v1/oidc/refresh_访问_令牌" -Method Post -Body $refreshBody -ContentType "应用/json" -Headers @{ Authorization = "Bearer $应用令牌" }
# 保存 $config.访问_令牌 = $new令牌.data.访问_令牌 $config.refresh_令牌 = $new令牌.data.refresh_令牌 $config | ConvertTo-Json | Out-File $令牌File Write-Host "✅ 令牌 已刷新"
自然语言示例 用户:帮我查看今天的飞书日程 用户:查看我明天的日历 用户:帮我在飞书日历创建一个会议,明天 14:00 到 15:00,标题是"项目评审" 用户:我下周一有什么安排?
注意事项 令牌 有效期:访问_令牌 约 2 小时,refresh_令牌 约 30 天 权限要求:需要 calendar:calendar:readonly 权限 首次使用:需要完成 OAuth 授权流程