关于 google-sheets
通过 curl 和 jq 调用 Sheets API 读写 Google Sheets 的技能,适合需要以命令行处理表格的场景。支持查看表格信息、操作单元格值、创建表格和添加工作表,并说明 OAuth 权限范围要求。
主要功能
- 01查看表格标题和工作表标签
- 02按 A1 表示法读取区域
- 03追加行并更新单元格值
- 04创建表格并添加工作表
- 05处理 OAuth 权限范围与输入模式
适用场景
- 01查看表格结构和内容
- 02追加行或更新单元格区域
- 03创建报告用电子表格
- 04为现有文件添加工作表标签
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ acedatacloud/ skills --skill google-sheets安装后在 Claude Code 中输入/google-sheets确认已加载。
详细介绍
通过 curl + jq 操作 Google Sheets。用户的 OAuth bearer token 位于
$GOOGLE_SHEETS_TOKEN;每次调用都需要 Authorization: Bearer $GOOGLE_SHEETS_TOKEN。基础 URL:https://sheets.googleapis.com/v4/spreadsheets。
此 token 包含 spreadsheets.readonly(及身份验证)权限;写入需要更广泛的
spreadsheets 权限。
失败时会返回 {"error":{"code","message","status"}}——原样显示。401 =
重新安装。写入时出现 403 PERMISSION_DENIED = 只读权限范围 → 重新连接并授予读写权限。
电子表格 ID 是 URL 中的 …/spreadsheets/d/<ID>/edit 部分。
S="https://sheets.googleapis.com/v4/spreadsheets"; AUTH="Authorization: Bearer $GOOGLE_SHEETS_TOKEN"
# Tabs + title
curl -sS -H "$AUTH" "$S/SPREADSHEET_ID?fields=properties.title,sheets.properties(title,sheetId)" \
| jq '{title: .properties.title, tabs: [.sheets[].properties.title]}'
读取 / 追加 / 更新值
ID="SPREADSHEET_ID"
# Read a range (A1 notation; values are rows of cells)
curl -sS -H "$AUTH" "$S/$ID/values/Sheet1!A1:D20" | jq '.values'
# Append rows (confirm first). valueInputOption=USER_ENTERED parses formulas/dates.
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"values":[["2026-06-21","Acme",4200]]}' \
"$S/$ID/values/Sheet1!A1:append?valueInputOption=USER_ENTERED" | jq '.updates'
# Update a fixed range: PUT /values/{range}?valueInputOption=USER_ENTERED
curl -sS -X PUT -H "$AUTH" -H "Content-Type: application/json" \
-d '{"values":[["done"]]}' \
"$S/$ID/values/Sheet1!E2?valueInputOption=USER_ENTERED" | jq '.updatedCells'
创建电子表格 / 添加工作表
# New spreadsheet
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"properties":{"title":"Report 2026"}}' "$S" | jq '{spreadsheetId, spreadsheetUrl}'
# Add a tab via batchUpdate (addSheet request)
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"requests":[{"addSheet":{"properties":{"title":"Q3"}}}]}' \
"$S/$ID:batchUpdate" | jq '.replies'
注意事项
- A1 表示法:
Sheet1!A1:D20;工作表名称中有空格时,用引号括起,例如'My Tab'!A1。 valueInputOption=RAW会原样存储字符串;USER_ENTERED会像 UI 一样解析内容(数字、日期、=FORMULA)。请谨慎选择。values按行排列([[row1...],[row2...]]);缺失的尾部单元格返回的结果会较短——不要假定数据是矩形。
评论
支持 Markdown