Maton

Google Sheets

Access the Google Sheets API with managed OAuth authentication. Read and write spreadsheet values, create sheets, apply formatting, and perform batch operations.

Reference

Get Spreadsheet Metadata

GET /google-sheets/v4/spreadsheets/{spreadsheetId}
maton google-sheets spreadsheet view <spreadsheetId>

Get Values

GET /google-sheets/v4/spreadsheets/{spreadsheetId}/values/{range}
maton google-sheets values get <spreadsheetId> --range 'Sheet1!A1:D10'

Get Multiple Ranges

GET /google-sheets/v4/spreadsheets/{spreadsheetId}/values:batchGet?ranges=Sheet1%21A1%3AB10&ranges=Sheet2%21A1%3AC5
maton google-sheets values batch-get <spreadsheetId> --range 'Sheet1!A1:B10,Sheet2!A1:C5'

Update Values

PUT /google-sheets/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED
Content-Type: application/json

{
  "values": [
    ["A1", "B1", "C1"],
    ["A2", "B2", "C2"]
  ]
}
maton google-sheets values update <spreadsheetId> --range 'Sheet1!A1:C2' --json-values '[["A1","B1","C1"],["A2","B2","C2"]]'

Append Values

POST /google-sheets/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED
Content-Type: application/json

{
  "values": [
    ["New Row 1", "Data", "More Data"],
    ["New Row 2", "Data", "More Data"]
  ]
}
maton google-sheets values append <spreadsheetId> --range 'Sheet1!A1' --json-values '[["New Row 1","Data","More Data"],["New Row 2","Data","More Data"]]'

Batch Update Values

POST /google-sheets/v4/spreadsheets/{spreadsheetId}/values:batchUpdate
Content-Type: application/json

{
  "valueInputOption": "USER_ENTERED",
  "data": [
    {"range": "Sheet1!A1:B2", "values": [["A1", "B1"], ["A2", "B2"]]},
    {"range": "Sheet1!D1:E2", "values": [["D1", "E1"], ["D2", "E2"]]}
  ]
}
maton google-sheets values batch-update <spreadsheetId> --data '[{"range":"Sheet1!A1:B2","values":[["A1","B1"],["A2","B2"]]},{"range":"Sheet1!D1:E2","values":[["D1","E1"],["D2","E2"]]}]'

Clear Values

POST /google-sheets/v4/spreadsheets/{spreadsheetId}/values/{range}:clear
maton google-sheets values clear <spreadsheetId> --range 'Sheet1!A1:D10'

Create Spreadsheet

POST /google-sheets/v4/spreadsheets
Content-Type: application/json

{
  "properties": {"title": "New Spreadsheet"},
  "sheets": [{"properties": {"title": "Sheet1"}}]
}
maton google-sheets spreadsheet create --title 'New Spreadsheet' --sheet-title 'Sheet1'

Batch Update (formatting, add sheets, etc.)

POST /google-sheets/v4/spreadsheets/{spreadsheetId}:batchUpdate
Content-Type: application/json

{
  "requests": [
    {"addSheet": {"properties": {"title": "New Sheet"}}}
  ]
}
maton google-sheets spreadsheet batch-update <spreadsheetId> --requests '[{"addSheet":{"properties":{"title":"New Sheet"}}}]'

Resources

On this page