OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  google-calendar:通过官方接口与 Google 日历交互

google-calendar:通过官方接口与 Google 日历交互

 
  architecture ·  2026-02-11 05:27:31 · 3 次点击  · 0 条评论  

名称: google-calendar
描述: 通过 Google Calendar API 与 Google 日历交互——可列出即将发生的事件、创建新事件、更新或删除事件。当您需要在 OpenClaw 中通过编程方式访问日历时,请使用此技能。


Google Calendar 技能

概述

本技能为 Google Calendar REST API 提供了一个轻量级封装。它允许您:
- 列出即将发生的事件(可按时间范围或查询条件筛选)
- 添加新事件(包含标题、开始/结束时间、描述、地点和参与者)
- 通过 ID 更新现有事件
- 通过 ID 删除事件

该技能使用 Python 实现(scripts/google_calendar.py)。它需要设置以下环境变量(您可以使用 openclaw secret set 安全地存储它们):

GOOGLE_CLIENT_ID=…
GOOGLE_CLIENT_SECRET=…
GOOGLE_REFRESH_TOKEN=…   # OAuth 授权后获得
GOOGLE_CALENDAR_ID=primary   # 或指定日历的 ID

首次运行此技能时,可能需要执行 OAuth 流程以获取刷新令牌——请参阅下方的 设置 部分。

命令

google-calendar list [--from <ISO> --to <ISO> --max <N>]
google-calendar add   --title <标题> [--start <ISO> --end <ISO>]
                     [--desc <描述> --location <地点> --attendees <邮箱1,邮箱2>]
google-calendar update --event-id <ID> [--title <标题> ... 其他字段]
google-calendar delete --event-id <ID>

所有命令都会将 JSON 格式的响应输出到 stdout。错误信息会输出到 stderr,并返回非零退出码。

设置

  1. 创建 Google Cloud 项目,并启用 Google Calendar API
  2. 创建 OAuth 凭据(类型选择 桌面应用)。记录 client_idclient_secret
  3. 运行辅助脚本以获取刷新令牌:
    bash GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=… python3 -m google_calendar.auth
    脚本将打开浏览器(或打印一个可手动打开的 URL),并要求您授予访问权限。授权后,复制输出的 refresh_token
  4. 安全存储凭据:
    bash openclaw secret set GOOGLE_CLIENT_ID <值> openclaw secret set GOOGLE_CLIENT_SECRET <值> openclaw secret set GOOGLE_REFRESH_TOKEN <值> openclaw secret set GOOGLE_CALENDAR_ID primary # 可选
  5. 安装所需的 Python 包(仅需一次):
    bash pip install --user google-auth google-auth-oauthlib google-api-python-client

工作原理(简述)

脚本从环境变量加载凭据,使用刷新令牌更新访问令牌,构建 service = build('calendar', 'v3', credentials=creds),然后调用相应的 API 方法。

参考链接

  • Google Calendar API 参考文档:https://developers.google.com/calendar/api/v3/reference
  • 适用于已安装应用的 OAuth 2.0:https://developers.google.com/identity/protocols/oauth2/native-app

注意: 此技能无需图形界面;完全通过 HTTP 调用工作,因此适用于无头服务器。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor