介绍
# Google Sheets API Skill (Advanced)
## 目的 为 OpenClaw 提供一个生产就绪的 Google Sheets CLI。此技能支持数据读写、批量操作、格式设置和工作表管理,并使用服务账户进行身份验证。
## 最适用场景 - 你需要一个可重复使用的 CLI 来执行自动化任务。 - 你希望管道采用 JSON 输入/JSON 输出。 - 你的需求超出了基本的读写操作(如格式设置、工作表操作、批量更新)。
## 不适用场景 - 你必须使用最终用户 OAuth 同意流程(此技能侧重于服务账户)。 - 你只需要轻量级、一次性的编辑。
## 一次性设置 1. 创建或选择一个 Google Cloud 项目。 2. 启用 Google Sheets API。 3. 创建一个服务账户并下载其 JSON 密钥。 4. 将目标电子表格共享给服务账户电子邮件。
## 安装 ```bash cd google-sheet-api npm install ```
## 运行 ```bash node scripts/sheets-cli.js help node scripts/sheets-cli.js read <spreadsheetId> "Sheet1!A1:C10" node scripts/sheets-cli.js append <spreadsheetId> "Sheet1!A:B" '@data.json' ```
你也可以使用 npm: ```bash npm run sheets -- read <spreadsheetId> "Sheet1!A1:C10" ```
## 凭据 支持的来源(以第一个匹配项为准): - `GOOGLE_SHEETS_CREDENTIALS_JSON`(内联 JSON 字符串) - `GOOGLE_SERVICE_ACCOUNT_KEY`(文件路径) - `GOOGLE_SHEETS_KEY_FILE`(文件路径) - `GOOGLE_APPLICATION_CREDENTIALS`(文件路径) - `./service-account.json`、`./credentials.json`、`./google-service-account.json` - `~/.config/google-sheets/credentials.json`
## 输入约定 - JSON 值可以是内联的,也可以使用 `@path` 从文件加载。 - 写入/追加操作期望值的二维数组。
示例 `data.json`: ```json [["Name","Score"],["Alice",95]] ```
## 命令映射(高级别) 数据: - `read`、`write`、`append`、`clear`、`batchGet`、`batchWrite`
格式: - `format`、`getFormat`、`borders`、`merge`、`unmerge`、`copyFormat`
布局: - `resize`、`autoResize`、`freeze`
工作表: - `create`、`info`、`addSheet`、`deleteSheet`、`renameSheet`
高级: - `batch`(原始 `spreadsheets.batchUpdate` 请求)
## 操作指南 - 在可能的情况下,对读取工作流首选只读作用域。 - 针对 `429` 和临时性 `5xx` 错误,添加指数退避重试。 - 保持请求负载较小,以避免达到限制。
## 预期输出 - 输出 JSON 到标准输出;出错时以非零退出码退出。
## 安全提示 - 切勿记录或提交服务账户密钥。 - 请仅将电子表格共享给此技能所需的特定服务账户电子邮件。