You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

3.0 KiB

Google Calendar Skill

功能说明

为 OpenClaw 提供 Google Calendar 集成,支持:

  • 读取日历事件(今日/明日/本周)
  • 创建新事件
  • 删除事件
  • 多时区支持
  • 服务账号认证

安装

1. 安装 Python 依赖

pip install google-auth google-api-python-client

或在 skill 目录执行:

cd /root/.openclaw/workspace/skills/google-calendar
pip install -r requirements.txt

2. 配置凭证

凭证文件位置:/root/.openclaw/credentials/google-calendar-life.json

获取凭证步骤:

  1. 访问 https://console.cloud.google.com/
  2. 创建或选择 Google Cloud 项目
  3. 启用 Google Calendar API
  4. 创建服务账号 (Service Account)
  5. 下载 JSON 密钥文件
  6. 将内容保存到凭证文件
  7. 共享目标日历给服务账号邮箱(格式:xxx@xxx.iam.gserviceaccount.com

3. 启用 Skill

编辑 /root/.openclaw-life/openclaw.json(张大师配置)或 /root/.openclaw/openclaw.json(主配置):

{
  "skills": {
    "entries": {
      "google-calendar": {
        "enabled": true
      }
    }
  }
}

配置

编辑 config.yaml

credentials_path: /root/.openclaw/credentials/google-calendar-life.json
timezone: Asia/Shanghai
calendar_id: primary  # 或具体日历 ID

命令

命令 说明 示例
/calendar today 查看今日日程 /calendar today
/calendar tomorrow 查看明日日程 /calendar tomorrow
/calendar week 查看本周日程 /calendar week
/calendar status 检查连接状态 /calendar status
/calendar add 添加新事件 /calendar add 明天 14:00 开会
/calendar help 显示帮助 /calendar help

编程接口

from google_calendar import GoogleCalendarClient

client = GoogleCalendarClient(
    credentials_path='/root/.openclaw/credentials/google-calendar-life.json',
    timezone='Asia/Shanghai'
)

# 获取今日事件
events = client.get_today_events()

# 创建事件
from datetime import datetime
client.create_event(
    summary='团队会议',
    start_time=datetime(2026, 2, 24, 14, 0),
    description='讨论项目进度'
)

# 测试连接
status = client.test_connection()
print(f"Connected: {status['connected']}")

依赖

  • Python 3.8+
  • google-auth
  • google-api-python-client

故障排查

错误:Credentials file not found

检查凭证文件路径是否正确,文件是否存在。

错误:Failed to initialize Google Calendar service

  • 确认凭证 JSON 格式正确
  • 确认服务账号有 Calendar API 访问权限
  • 确认目标日历已共享给服务账号

错误:googleapiclient.errors.HttpError: Forbidden

服务账号没有访问目标日历的权限。请在 Google Calendar 中共享日历给服务账号邮箱。

安全提示

  • 凭证文件包含私钥,请妥善保管
  • 不要将凭证文件提交到版本控制
  • 使用服务账号而非个人账号进行自动化操作
  • 定期轮换服务账号密钥