返回精选库
gsuite-sdk·办公与效率

gsuite-sdk 使用指南:让 Agent 读取 Google 表格并核对任务摘要

本文目录

gsuite-sdk 让 Agent 通过 Python 和命令行读取 Google Workspace 资料,也能写表格、发邮件和管理日程。第一次使用建议只做一件事:读取自己创建的小表格,生成一份能逐项核对的状态摘要。

本文使用 SDK 0.5.0 的命令与当前官方 Skill。下面的任务是练习样例,不是一次真实账号试用。需要 Python 3.11+、可访问 Google API 的网络、自己的 Google 账号,以及能执行本地命令的 Claude Code 或 Codex。普通网页聊天中粘贴 Skill,不会自动获得本机命令行和 Google 授权。

先分清三个安装层次

Skill 是 Agent 的操作说明;gsuite-sdk[cli] 提供真正访问 Google 的 gsuite 命令;OAuth 决定这个账号允许命令访问什么。三者缺一,Agent 都不能凭空读取文件。

官方还提供带 MCP 的 Claude Code 插件,以及 REST API。先用 Skill + CLI 完成练习,不需要同时启动服务器或再装 MCP。适合希望进一步写 Python 数据流程的人;只想偶尔总结一张表,也可以直接把脱敏的表格导出给 Agent,不必承担 OAuth 配置。

1. 装 CLI,再装 Skill

在一个专用练习目录打开终端。以下虚拟环境命令用于 macOS/Linux;Windows 创建环境后使用 .venv\Scripts\Activate.ps1 激活。

命令
python3 -m venv .venv
source .venv/bin/activate
python -m pip install "gsuite-sdk[cli]==0.5.0"
gsuite --help

Python 命令可能叫 python;先确认它的版本至少是 3.11。gsuite --help 应显示命令帮助,这只能证明 CLI 可用,还不能证明 Google 授权成功。

在准备使用的项目目录安装官方 Skill:

命令
npx skills add PabloAlaniz/google-suite --skill gsuite-sdk

在安装选择器中选择自己的 Agent,完成后开启新会话。Skill 与 Python 环境要让同一个 Agent 进程能够访问;若新终端找不到 gsuite,先重新激活环境,而不是再授权一次。已经安装官方插件的人先确认已有 Skill,避免重复安装不同版本。

2. 配置表格练习所需的授权

在 Google Cloud Console 创建或选用自己的项目,启用 Google Drive API 和 Google Sheets API。配置 Google Auth Platform 的应用信息和受众;External 应用处于 Testing 时,把自己加入测试用户。创建 Desktop app 类型的 OAuth 客户端,下载客户端 JSON。它不是 API key,也不是服务账号密钥。

把下载文件保存在项目之外的私有位置。然后在练习终端设置绝对路径,替换下方示例:

命令
export GSUITE_CREDENTIALS_FILE="/absolute/private/credentials.json"
export GSUITE_TOKEN_DB_PATH="/absolute/private/tokens.db"
export GSUITE_DEFAULT_TIMEZONE="Asia/Shanghai"
gsuite auth login --scopes drive,sheets
gsuite auth status

登录在浏览器中由你完成。核对账号、应用名和权限;被组织策略或 Google 阻止时先处理配置问题。此次不需要 Gmail、Calendar、Tasks 或 Contacts。注意:drive,sheets 是服务权限集合,包含 Drive 和表格的完整权限,不是只读权限。我们接下来只执行读取,不代表令牌只能读。没有参数的默认登录还会请求 Gmail 和 Calendar。

令牌保存在 tokens.db。凭据和令牌都不要提交 Git、上传网站或贴进聊天;绝对路径也要在 Agent 的运行环境里设置。External + Testing 的这类授权可能在七天后需要重新登录,访问令牌的正常刷新与这种到期不是同一回事。

3. 准备一个能检查的表格

在 Google Sheets 手工新建测试表,把工作表标签改名为 Tasks,填入下面四行。这样不受默认标签是“工作表1”还是“Sheet1”的影响。

TaskOwnerStatus
Landing pageAnadone
Signup formBodoing
Release notesAnatodo

复制表格网址。先在终端读一次,替换 YOUR_SPREADSHEET_ID:它是网址 /d/ 与 /edit 之间的字符串。

命令
gsuite sheets read YOUR_SPREADSHEET_ID --sheet Tasks --range "A1:C4" -o json

--sheet 指定标签,--range 指定该标签里的单元格。不要把范围当成第二个位置参数。正常非空结果是二维数组:第一行是三个表头,后面是三条任务。检查任务、负责人和状态能否与浏览器中的表格对上;这一步通过,再让 Agent 做总结。

空范围在此版本会打印 No data found,而不是 JSON 的 []。自动流程不要只凭退出成功就认定拿到了完整数据;检查输出结构和必要表头,空结果单独处理。Google 可能省略末尾的空单元格,不能假设每行长度相同。

4. 给 Agent 第一个任务

在已加载 Skill、能使用这个虚拟环境的 Claude Code 或 Codex 会话中,可以这样输入:

提示词
使用 gsuite-sdk 读取这个测试表:[粘贴表格 URL]。
仅使用 Tasks 标签的 A1:C4,先检查三列表头和三条任务。
不要写入表格,也不要发送、分享或删除任何内容。
列出未完成任务,按负责人分组,保留任务名和原始状态。
说明你读取的标签和范围;读取失败或数据缺失时停止并说明。

检查摘要中应该只有 Signup form(Bo、doing)和 Release notes(Ana、todo),不应把已完成的 Landing page 算进去。这是按样例数据推导的验收标准,不是保证模型一定答对。核对读取范围、两条任务和两名负责人,再扩大到真实资料;不要用模型自己声称“完成”代替检查。

后续怎么用

每周项目摘要: 将读取范围扩大到实际任务区域,明确哪些状态算未完成、截止时间是哪一天。摘要保留原始状态,缺负责人或日期的行单独列出。只读摘要与写回计划是两步,先审核摘要再决定是否更新表格。

Python 数据处理: 当需要固定格式、校验和重复运行时,SDK 比长提示词更容易控制。可按 ID 打开表格并读取指定标签:

python
from gsuite_core import GoogleAuth
from gsuite_sheets import Sheets

doc = Sheets(GoogleAuth()).open_by_key("YOUR_SPREADSHEET_ID")
ws = doc.worksheet("Tasks")
if ws is None:
    raise ValueError("Tasks worksheet is missing")
rows = ws.get("A1:C4")
print(rows)

脚本要在同样的环境变量下运行。按标题打开用 open(title),按 ID 用 open_by_key(id),不要混淆。get_all_records() 返回的值是字符串,统计金额前要明确转换规则;空格、货币符号和缺值都要处理。

写回或分享: 另做确认后的任务,先展示目标文件、标签、范围和将要改的值。SDK 的 update 与 append_rows 使用二维列表,例如一格也是 [["done"]]。CSV 导入可能覆盖数据,不能当成追加;发邮件、邀请参会和共享文件也都有外部影响。

卡住时先查哪一层

现象先检查
找不到 gsuite是否安装 [cli]、当前终端是否激活正确环境、Agent 是否使用同一个 PATH。
CredentialsNotFoundError客户端 JSON 的绝对路径与读取权限;不要用 API key 替代。
浏览器 access_denied当前账号是否为测试用户,组织是否限制应用,客户端是否为 Desktop app。
授权成功但读表失败是否启用两项 API、账号是否能打开该表、所授范围是否包含所需服务。
找不到工作表或读到另一张表用浏览器复制 ID,确认标签是 Tasks;省略 --sheet 会读第一张标签。
JSON 解析失败是否使用 -o json,范围是否为空;先看实际输出,不要把错误文字交给摘要步骤。
TokenRefreshError先检查账号撤销、Testing 到期及本地令牌位置,再按官方流程重新登录。

403 不一定是缺 scope,也可能是文件权限或 API 未启用;不要一遇到错误就把授权扩大到 all。需要新增服务时,再启用对应 API、理解其权限,并用 --force --scopes ... 重新授权。

资料会去哪里

CLI 在本机使用你的 OAuth 调 Google API。Agent 读取的表格内容还可能进入所用模型服务的对话,因此“本地 CLI”不等于“资料全程离线”。首次使用选测试表,真实工作资料按组织规则处理。无需为本练习启动 gsuite serve,更不必把 REST 服务开放到公网。

这份说明围绕 0.5.0 的表格任务编写;官方 Skill 还覆盖其他 Workspace 服务。它与 Google 官方产品不是同一回事,也不提供无限 API 配额。若需求是通过 Python 延伸到数据处理,这条路径合适;若只想要更偏终端日常办公的方案,可以另看 GOG 使用指南,两套命令、授权和令牌不要混用。

你的首次任务进行得怎么样?

选择项通过网站统计帮助我们了解常见卡点。屏蔽统计可能导致无法送达;具体问题请通过邮件反馈。

参考来源

  1. Official gsuite-sdk SkillPablo Alaniz
  2. Getting Google OAuth CredentialsPablo Alaniz
  3. Sheets CLI implementationPablo Alaniz
  4. Authentication CLI implementationPablo Alaniz
  5. Google API OAuth scopesPablo Alaniz
  6. Sheets referencePablo Alaniz
  7. Google Suite READMEPablo Alaniz
  8. OAuth 2.0 for Desktop AppsGoogle
发现过期或有误的信息?告诉我们

继续发现

其他值得了解的技能。