通过 Maton API Gateway 与 Google Sheets 交互,使用 curl 读取、写入、追加和清除电子表格数据。在用户提及相关需求时使用此技能。
Google Sheet matan.是一项面向实际任务的技能,主要用于Google Sheets (Generic,通过Maton Gateway). 通过 Maton Gateway 访问和管理任何 Google Sheets 电子表格,并获得 OAuth 认证;支持读取、写写、 上行。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Google Sheets(通用版,通过 Maton Gateway)
通过 Maton Gateway,使用完整的 OAuth 认证机制访问和管理任意 Google Sheets 电子表格。支持读取、写入、更新、追加、清空、格式设置、工作表管理、公式及区域保护等功能。
🌐 基础 URL
https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/{native-api-path}
{SPREADSHEET_ID} → 您的电子表格 ID
{native-api-path} → Google Sheets API 路径(例如 values、sheets 等)
🔐 认证
在请求头中包含您的 Maton API 密钥:
-H "Authorization: Bearer $MATON_API_KEY"
在环境中设置:
export MATON_API_KEY="YOUR_API_KEY"
📄 操作(通用占位符)
占位符说明:
{SHEET_NAME} → 任意工作表(Tab)名称
{RANGE} → A1 表示法(例如 A1:Z100)
2. 追加单元格值
向工作表底部添加新行。
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/values/{SHEET_NAME}!{RANGE}:append?valueInputOption=USER_ENTERED"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"values": [
["{VALUE1}", "{VALUE2}", "{VALUE3}", "...", "{VALUEN}"]
]
}'
{VALUE1} … {VALUEN} → 任意通用值
3. 更新单元格值
curl -X PUT "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/values/{SHEET_NAME}!{RANGE}?valueInputOption=USER_ENTERED"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"values": [
["{VALUE1}", "{VALUE2}", "{VALUE3}", "...", "{VALUEN}"]
]
}'
一次性更新多个区域:
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/values:batchUpdate"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"valueInputOption":"USER_ENTERED",
"data":[
{"range":"{SHEET_NAME}!{RANGE1}","values":[["{VALUE1A}", "{VALUE1B}", "..."]]},
{"range":"{SHEET_NAME}!{RANGE2}","values":[["{VALUE2A}", "{VALUE2B}", "..."]]}
]
}'
清空单元格值
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/values/{SHEET_NAME}!{RANGE}:clear"
-H "Authorization: Bearer $MATON_API_KEY"
获取电子表格元数据
curl "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}"
-H "Authorization: Bearer $MATON_API_KEY"
返回内容包括:工作表列表、属性、标题、ID 等。
7. 新增工作表
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}:batchUpdate"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"requests":[
{"addSheet":{"properties":{"title":"{NEW_SHEET_NAME}"}}}
]
}'
删除工作表
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}:batchUpdate"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"requests":[
{"deleteSheet":{"sheetId":{SHEET_ID}}}
]
}'
复制工作表
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/sheets/{SHEET_ID}:copyTo"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"destinationSpreadsheetId":"{DEST_SPREADSHEET_ID}"
}'
格式设置与单元格样式
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}:batchUpdate"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"requests":[
{
"repeatCell":{
"range":{"sheetId":{SHEET_ID},"startRowIndex":{START_ROW},"endRowIndex":{END_ROW},"startColumnIndex":{START_COL},"endColumnIndex":{END_COL}},
"cell":{"userEnteredFormat":{"backgroundColor":{"red":{R},"green":{G},"blue":{B}}}},
"fields":"userEnteredFormat.backgroundColor"
}
}
]
}'
插入公式
curl -X PUT "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}/values/{SHEET_NAME}!{CELL}?valueInputOption=USER_ENTERED"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"values":[["{FORMULA}"]]
}'
受保护区域
curl -X POST "https://gateway.maton.ai/google-sheets/v4/spreadsheets/{SPREADSHEET_ID}:batchUpdate"
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{
"requests":[
{"addProtectedRange":{"protectedRange":{"range":{"sheetId":{SHEET_ID},"startRowIndex":{START_ROW},"endRowIndex":{END_ROW}},"description":"{DESCRIPTION}"}}}
]
}'
📚 补充说明
{SPREADSHEET_ID} → 您的电子表格 ID
{SHEET_NAME} → 任意工作表(Tab)名称
{RANGE} → A1 表示法(例如 A1:Z100)
{VALUE1}、{VALUE2}、… → 任意单元格内容的通用占位符
USER_ENTERED 会自动解析数字、日期和公式
所有结构性变更(如新增/删除工作表、格式设置、区域保护等)均需使用 batchUpdate 接口