SuperAPI AI 工具集

google-integration

办公与效率

查看项目

更新于 10-15 08:14

技能介绍

用途

Google Integration 提供对 Google Workspace 服务的统一接口,核心目标是让用户通过一次 OAuth 登录,即可使用 Gmail、Google Docs、Google Sheets、Google Calendar、Google Drive、Google Tasks 和 Google Slides 的全部功能。所有服务共享同一套凭证和一致的错误处理模式。

主要能力

该集成包含以下服务及其操作:

  • Gmail:读取、发送、回复、转发邮件,管理草稿和标签。
  • Google Docs:读取、写入、创建、导出、格式化文档。
  • Google Sheets:读取、写入、追加、创建、格式化电子表格。
  • Google Calendar:列出事件、创建、更新、查找空闲时段、检查可用性。
  • Google Drive:上传、下载、共享、组织文件夹。
  • Google Tasks:创建、完成、组织任务列表。
  • Google Slides:创建、编辑幻灯片、添加文本/图片、导出。

使用方式

首次设置

新用户可输入“connect google”运行交互式设置向导。向导会引导完成:创建 Google Cloud 项目、启用所需 API、创建 OAuth 凭证、使用 Google 账户认证。

预检(始终首先运行)

python3 00-system/skills/google/google-master/scripts/check_google_config.py --json

退出码含义:

  • 0:就绪,所有服务可用
  • 1:需要登录,运行下方登录命令
  • 2:缺少凭证或依赖

认证(授予所有服务访问权限)

python3 00-system/skills/google/google-master/scripts/google_auth.py --login

各服务快速开始

Gmail

# 列出最近邮件
python3 00-system/skills/google/gmail/scripts/gmail_operations.py list --max 10

# 发送邮件(先创建草稿,请求确认)
python3 00-system/skills/google/gmail/scripts/gmail_operations.py send --to "user@example.com" --subject "Hello" --body "Message"

Google Docs

# 读取文档
python3 00-system/skills/google/google-docs/scripts/docs_operations.py read <document_id>

# 创建文档
python3 00-system/skills/google/google-docs/scripts/docs_operations.py create "My Document" --content "Initial content"

Google Sheets

# 读取数据
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py read <spreadsheet_id> "Sheet1!A1:D10"

# 追加行
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py append <spreadsheet_id> "Sheet1!A:D" --values '[["New", "Row", "Data"]]'

Google Calendar

# 列出即将到来的事件
python3 00-system/skills/google/google-calendar/scripts/calendar_operations.py list --max 10

# 查找空闲时段
python3 00-system/skills/google/google-calendar/scripts/calendar_operations.py find-slots --duration 30 --from "2025-12-16" --to "2025-12-20"

Google Drive

# 列出根目录文件
python3 00-system/skills/google/google-drive/scripts/drive_operations.py list

# 上传文件
python3 00-system/skills/google/google-drive/scripts/drive_operations.py upload ./local_file.pdf

# 下载文件
python3 00-system/skills/google/google-drive/scripts/drive_operations.py download <file_id> --output ./downloaded.pdf

Google Tasks

# 列出任务
python3 00-system/skills/google/google-tasks/scripts/tasks_operations.py tasks

# 创建任务
python3 00-system/skills/google/google-tasks/scripts/tasks_operations.py create "Call John" --due 2025-12-20

# 完成任务
python3 00-system/skills/google/google-tasks/scripts/tasks_operations.py complete <task_id>

Google Slides

# 列出演示文稿
python3 00-system/skills/google/google-slides/scripts/slides_operations.py list

# 创建演示文稿
python3 00-system/skills/google/google-slides/scripts/slides_operations.py create "Q4 Report"

# 导出为 PDF
python3 00-system/skills/google/google-slides/scripts/slides_operations.py export <presentation_id> ./report.pdf

目录结构

google/
├── SKILL.md                          # 本文件(包概览)
├── google-connect/                   # 设置向导(输入“connect google”)
│   └── SKILL.md                      # 交互式设置工作流
├── google-master/                    # 共享资源(请勿直接加载)
│   ├── SKILL.md                      # 共享资源文档
│   ├── scripts/
│   │   ├── google_auth.py            # 所有服务的统一 OAuth
│   │   └── check_google_config.py    # 预检验证
│   └── references/
│       ├── setup-guide.md            # 完整设置说明
│       └── error-handling.md         # 常见错误与解决方案
├── gmail/
│   ├── SKILL.md                      # Gmail 专属文档
│   └── scripts/gmail_operations.py
├── google-docs/
│   ├── SKILL.md                      # Docs 专属文档
│   └── scripts/docs_operations.py
├── google-sheets/
│   ├── SKILL.md                      # Sheets 专属文档
│   └── scripts/sheets_operations.py
├── google-calendar/
│   ├── SKILL.md                      # Calendar 专属文档
│   └── scripts/calendar_operations.py
├── google-drive/
│   ├── SKILL.md                      # Drive 专属文档
│   └── scripts/drive_operations.py
├── google-tasks/
│   ├── SKILL.md                      # Tasks 专属文档
│   └── scripts/tasks_operations.py
└── google-slides/
    ├── SKILL.md                      # Slides 专属文档
    └── scripts/slides_operations.py

设置

前置条件

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

1. 创建 Google Cloud 项目

  • 前往 Google Cloud Console
  • 创建或选择项目
  • 启用 API:Gmail、Docs、Sheets、Calendar、Drive、Tasks、Slides

2. 创建 OAuth 凭证

  • 前往 APIs & Services > Credentials
  • 创建 OAuth 2.0 客户端 ID(桌面应用)
  • 复制 Client ID 和 Client Secret
  • 添加到 .env 文件(位于 Nexus 根目录):
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_PROJECT_ID=your-project-id

3. 认证

python3 00-system/skills/google/google-master/scripts/google_auth.py --login

这会打开浏览器,一次性授予所有服务的权限。

详细设置请参阅:google-master/references/setup-guide.md

错误处理

请参阅 google-master/references/error-handling.md,其中涵盖:

  • 认证错误(401、403)
  • 速率限制(429)
  • 权限问题
  • 令牌刷新问题

文件位置

文件 路径 用途
OAuth 凭证 .env(GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET、GOOGLE_PROJECT_ID) 应用身份
访问令牌 01-memory/integrations/google-token.json 用户认证令牌

.env 和令牌文件均在 .gitignore 中,不会被提交。

安全说明

  • 凭证(.env 文件)在 .gitignore 中,永不提交
  • 令牌文件(google-token.json)在 .gitignore 中,永不提交
  • 每个用户使用自己的 Google 账户进行认证

适用场景

适用于需要通过命令行或自动化脚本统一操作多个 Google Workspace 服务的场景,例如批量处理邮件、自动生成文档和表格、管理日历事件、上传下载 Drive 文件、创建任务和演示文稿等。

限制

  • 需要自行创建 Google Cloud 项目并启用相应 API
  • 需要安装 Python 依赖包
  • 需要配置 OAuth 凭证并完成浏览器认证
  • 各服务的具体操作受 Google API 自身的配额和权限限制
  • 资料中未提供收费、价格或平台兼容性的具体信息