google-calendar by sanjay3290/ai-skills
npx skills add https://github.com/sanjay3290/ai-skills --skill google-calendar轻量级 Google Calendar 集成,具备独立的 OAuth 身份验证。无需 MCP 服务器。
⚠️ 需要 Google Workspace 账户。 不支持个人 Gmail 账户。
使用 Google 进行身份验证(会打开浏览器):
python scripts/auth.py login
检查身份验证状态:
python scripts/auth.py status
需要时登出:
python scripts/auth.py logout
所有操作均通过 scripts/gcal.py 进行。如果首次使用时未登录,将自动进行身份验证。
python scripts/gcal.py list-calendars
# 列出主日历的事件(默认:未来30天)
python scripts/gcal.py list-events
# 列出指定时间范围内的事件
python scripts/gcal.py list-events --time-min 2024-01-15T00:00:00Z --time-max 2024-01-31T23:59:59Z
# 列出特定日历的事件
python scripts/gcal.py list-events --calendar "work@example.com"
# 限制结果数量
python scripts/gcal.py list-events --max-results 10
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
python scripts/gcal.py get-event EVENT_ID
python scripts/gcal.py get-event EVENT_ID --calendar "work@example.com"
# 基础事件
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z"
# 带描述和地点的事件
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
--description "Weekly sync" --location "Conference Room A"
# 带参与者的事件
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
--attendees user1@example.com user2@example.com
# 在特定日历上创建事件
python scripts/gcal.py create-event "Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
--calendar "work@example.com"
# 更新事件标题
python scripts/gcal.py update-event EVENT_ID --summary "New Title"
# 更新事件时间
python scripts/gcal.py update-event EVENT_ID --start "2024-01-15T14:00:00Z" --end "2024-01-15T15:00:00Z"
# 更新多个字段
python scripts/gcal.py update-event EVENT_ID \
--summary "Updated Meeting" --description "New agenda" --location "Room B"
# 更新参与者
python scripts/gcal.py update-event EVENT_ID --attendees user1@example.com user3@example.com
python scripts/gcal.py delete-event EVENT_ID
python scripts/gcal.py delete-event EVENT_ID --calendar "work@example.com"
为指定参与者查找会议的第一个可用时间段:
# 为自己查找30分钟的空闲时段
python scripts/gcal.py find-free-time \
--attendees me \
--time-min "2024-01-15T09:00:00Z" \
--time-max "2024-01-15T17:00:00Z" \
--duration 30
# 为多个参与者查找60分钟的空闲时段
python scripts/gcal.py find-free-time \
--attendees me user1@example.com user2@example.com \
--time-min "2024-01-15T09:00:00Z" \
--time-max "2024-01-19T17:00:00Z" \
--duration 60
# 接受邀请
python scripts/gcal.py respond-to-event EVENT_ID accepted
# 拒绝邀请
python scripts/gcal.py respond-to-event EVENT_ID declined
# 标记为暂定
python scripts/gcal.py respond-to-event EVENT_ID tentative
# 响应但不通知组织者
python scripts/gcal.py respond-to-event EVENT_ID accepted --no-notify
所有时间均使用带时区的 ISO 8601 格式:
2024-01-15T10:30:00Z2024-01-15T10:30:00-05:00 (EST)primary 或省略 --calendar 标志list-calendars 命令返回的日历 ID(通常是电子邮件地址)令牌使用系统密钥环安全存储:
服务名称:google-calendar-skill-oauth
令牌过期时会使用 Google 的云函数自动刷新。
每周安装量
108
代码仓库
GitHub 星标数
169
首次出现
2026年1月23日
安全审计
安装于
codex97
gemini-cli96
opencode95
cursor90
github-copilot89
amp83
Lightweight Google Calendar integration with standalone OAuth authentication. No MCP server required.
⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.
Authenticate with Google (opens browser):
python scripts/auth.py login
Check authentication status:
python scripts/auth.py status
Logout when needed:
python scripts/auth.py logout
All operations via scripts/gcal.py. Auto-authenticates on first use if not logged in.
python scripts/gcal.py list-calendars
# List events from primary calendar (default: next 30 days)
python scripts/gcal.py list-events
# List events with specific time range
python scripts/gcal.py list-events --time-min 2024-01-15T00:00:00Z --time-max 2024-01-31T23:59:59Z
# List events from a specific calendar
python scripts/gcal.py list-events --calendar "work@example.com"
# Limit results
python scripts/gcal.py list-events --max-results 10
python scripts/gcal.py get-event EVENT_ID
python scripts/gcal.py get-event EVENT_ID --calendar "work@example.com"
# Basic event
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z"
# Event with description and location
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
--description "Weekly sync" --location "Conference Room A"
# Event with attendees
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
--attendees user1@example.com user2@example.com
# Event on specific calendar
python scripts/gcal.py create-event "Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
--calendar "work@example.com"
# Update event title
python scripts/gcal.py update-event EVENT_ID --summary "New Title"
# Update event time
python scripts/gcal.py update-event EVENT_ID --start "2024-01-15T14:00:00Z" --end "2024-01-15T15:00:00Z"
# Update multiple fields
python scripts/gcal.py update-event EVENT_ID \
--summary "Updated Meeting" --description "New agenda" --location "Room B"
# Update attendees
python scripts/gcal.py update-event EVENT_ID --attendees user1@example.com user3@example.com
python scripts/gcal.py delete-event EVENT_ID
python scripts/gcal.py delete-event EVENT_ID --calendar "work@example.com"
Find the first available slot for a meeting with specified attendees:
# Find 30-minute slot for yourself
python scripts/gcal.py find-free-time \
--attendees me \
--time-min "2024-01-15T09:00:00Z" \
--time-max "2024-01-15T17:00:00Z" \
--duration 30
# Find 60-minute slot with multiple attendees
python scripts/gcal.py find-free-time \
--attendees me user1@example.com user2@example.com \
--time-min "2024-01-15T09:00:00Z" \
--time-max "2024-01-19T17:00:00Z" \
--duration 60
# Accept an invitation
python scripts/gcal.py respond-to-event EVENT_ID accepted
# Decline an invitation
python scripts/gcal.py respond-to-event EVENT_ID declined
# Mark as tentative
python scripts/gcal.py respond-to-event EVENT_ID tentative
# Respond without notifying organizer
python scripts/gcal.py respond-to-event EVENT_ID accepted --no-notify
All times use ISO 8601 format with timezone:
2024-01-15T10:30:00Z2024-01-15T10:30:00-05:00 (EST)primary or omit the --calendar flaglist-calendars (usually an email address)Tokens stored securely using the system keyring:
Service name: google-calendar-skill-oauth
Tokens are automatically refreshed when expired using Google's cloud function.
Weekly Installs
108
Repository
GitHub Stars
169
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykFail
Installed on
codex97
gemini-cli96
opencode95
cursor90
github-copilot89
amp83
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
43,100 周安装