MCP Tools Reference: sheetsmcp.googleapis.com

เครื่องมือ: update_spreadsheet

ใช้การอัปเดตอย่างน้อย 1 รายการกับสเปรดชีต

สอดคล้องกับ spreadsheets.batchUpdate ใน REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate

รายการอัปเดตที่เป็นไปได้มีดังนี้

  • updateSpreadsheetProperties: อัปเดตพร็อพเพอร์ตี้ของสเปรดชีต สคีมา:
  • properties (ออบเจ็กต์, ต้องระบุ): พร็อพเพอร์ตี้สเปรดชีตที่จะอัปเดต ({"title": string, "locale": string, "timeZone": string})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ของพร็อพเพอร์ตี้ที่จะอัปเดต (เช่น "title" หรือ "*")
  • updateSheetProperties: อัปเดตพร็อพเพอร์ตี้ของชีต สคีมา:
  • properties (ออบเจ็กต์, ต้องระบุ): พร็อพเพอร์ตี้ของชีต ({"sheetId": int, "title": string, "index": int, "gridProperties": {"rowCount": int, "columnCount": int, "frozenRowCount": int, "frozenColumnCount": int, "hideGridlines": bool}, "hidden": bool, "tabColorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ของพร็อพเพอร์ตี้ที่จะอัปเดต (เช่น "title", "gridProperties.frozenRowCount")
  • updateDimensionProperties: อัปเดตพร็อพเพอร์ตี้ของมิติข้อมูล (เช่น ความสูงของแถวหรือความกว้างของคอลัมน์) สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูล ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})
  • properties (ออบเจ็กต์, ต้องระบุ): พร็อพเพอร์ตี้มิติข้อมูล ({"pixelSize": int, "hiddenByUser": bool})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ของพร็อพเพอร์ตี้ที่จะอัปเดต (เช่น "pixelSize")
  • updateNamedRange: อัปเดตช่วงที่ตั้งชื่อแล้ว สคีมา:
  • namedRange (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของช่วงที่ตั้งชื่อแล้ว ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ของฟิลด์ที่จะอัปเดต (เช่น "name,range" หรือ "*")
  • repeatCell: ทำซ้ำเซลล์เดียวในช่วง สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะใช้ข้อมูล/การจัดรูปแบบเซลล์ ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int})
  • cell (ออบเจ็กต์, ต้องระบุ): ข้อมูลเซลล์ ({"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}, "userEnteredFormat": {"textFormat": {"bold": bool, "italic": bool, "fontSize": int}, "backgroundColorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}, "horizontalAlignment": "LEFT"|"CENTER"|"RIGHT", "wrapStrategy": "WRAP"|"CLIP"|"OVERFLOW_CELL"}})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ของช่องเซลล์ที่จะอัปเดต (เช่น "userEnteredFormat.textFormat.bold" หรือ "userEnteredValue")
  • addNamedRange: เพิ่มช่วงที่ตั้งชื่อแล้ว สคีมา:
  • namedRange (ออบเจ็กต์, ต้องระบุ): ช่วงที่ตั้งชื่อแล้วที่จะเพิ่ม ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}})
  • deleteNamedRange: ลบช่วงที่ตั้งชื่อแล้วตามรหัส สคีมา:
  • namedRangeId (สตริง, ต้องระบุ): รหัสของช่วงที่ตั้งชื่อแล้วที่ต้องการลบ
  • addSheet: เพิ่มชีต สคีมา:
  • properties (ออบเจ็กต์ ไม่บังคับ): พร็อพเพอร์ตี้ชีต ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}})
  • deleteSheet: ลบชีต สคีมา:
  • sheetId (จำนวนเต็ม, ต้องระบุ): รหัสของชีตที่จะลบ
  • autoFill: กรอกข้อมูลเพิ่มเติมโดยอัตโนมัติตามข้อมูลที่มีอยู่ สคีมา:
  • range (ออบเจ็กต์, ไม่บังคับ): ช่วงที่จะตรวจสอบและกรอกข้อมูล ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int})
  • sourceAndDestination (ออบเจ็กต์, ไม่บังคับ): แหล่งที่มาที่ชัดเจนและความยาวของโฆษณาคั่น ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int})
  • useAlternateSeries (บูลีน (ไม่บังคับ)): ใช้ชุดข้อมูลอื่นหรือไม่
  • cutPaste: ตัดข้อมูลจากพื้นที่หนึ่งและวางในอีกพื้นที่หนึ่ง สคีมา:
  • source (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดต้นทาง
  • destination (ออบเจ็กต์, ต้องระบุ): พิกัดปลายทางด้านซ้ายบน ({"sheetId": int, "rowIndex": int, "columnIndex": int})
  • pasteType (สตริง ไม่บังคับ): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA"
  • copyPaste: คัดลอกข้อมูลจากพื้นที่หนึ่งและวางในอีกพื้นที่หนึ่ง สคีมา:
  • source (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดต้นทาง
  • destination (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดปลายทาง
  • pasteType (สตริง ไม่บังคับ): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA"
  • pasteOrientation (สตริง (ไม่บังคับ)): "NORMAL" หรือ "TRANSPOSE"
  • mergeCells: ผสานเซลล์เข้าด้วยกัน สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะผสาน
  • mergeType (สตริง, ต้องระบุ): "MERGE_ALL", "MERGE_COLUMNS" หรือ "MERGE_ROWS"
  • unmergeCells: ยกเลิกการผสานเซลล์ที่ผสานแล้ว สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะยกเลิกการผสานเซลล์ทั้งหมด
  • updateBorders: อัปเดตเส้นขอบในช่วงเซลล์ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะอัปเดตเส้นขอบ
  • top / bottom / left / right / innerHorizontal / innerVertical (ออบเจ็กต์ ไม่บังคับ): รูปแบบเส้นขอบ ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}})
  • updateCells: อัปเดตหลายเซลล์พร้อมกัน สคีมา:
  • พื้นที่ (ต้องระบุ 1 รายการ):
    • start (ออบเจ็กต์): พิกัดซ้ายบน ({"sheetId": int, "rowIndex": int, "columnIndex": int})
    • range (ออบเจ็กต์): ช่วงตารางกริด
  • rows (อาร์เรย์ของ RowData, ต้องระบุ): แถวของเซลล์ ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}])
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ของช่องเซลล์ที่จะอัปเดต (เช่น "userEnteredValue" หรือ "userEnteredFormat")
  • addFilterView: เพิ่มมุมมองตัวกรอง สคีมา:
  • filter (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของมุมมองตัวกรอง ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list})
  • appendCells: เพิ่มเซลล์ต่อจากแถวสุดท้ายที่มีข้อมูลในชีต สคีมา:
  • sheetId (จำนวนเต็ม, ต้องระบุ): รหัสชีตที่จะเพิ่มข้อมูลต่อท้าย
  • rows (อาร์เรย์ของ RowData, ต้องระบุ): แถวของข้อมูลที่จะเพิ่มต่อท้าย
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ (เช่น "userEnteredValue")
  • clearBasicFilter: ล้างตัวกรองพื้นฐานในชีต สคีมา:
  • sheetId (จำนวนเต็ม, ต้องระบุ): รหัสชีตที่จะล้างตัวกรองพื้นฐาน
  • deleteDimension: ลบแถวหรือคอลัมน์ในชีต สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูลที่จะลบ ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})
  • deleteEmbeddedObject: ลบออบเจ็กต์ที่ฝัง (เช่น แผนภูมิ รูปภาพ) ในชีต สคีมา:
  • objectId (จำนวนเต็ม, ต้องระบุ): รหัสของออบเจ็กต์ที่ฝังที่ต้องการลบ
  • deleteFilterView: ลบมุมมองตัวกรองออกจากชีต สคีมา:
  • filterId (จำนวนเต็ม, ต้องระบุ): รหัสของมุมมองตัวกรองที่จะลบ
  • duplicateFilterView: ทำซ้ำมุมมองตัวกรอง สคีมา:
  • filterId (จำนวนเต็ม, ต้องระบุ): รหัสของมุมมองตัวกรองที่จะทำซ้ำ
  • duplicateSheet: ทำซ้ำชีต สคีมา:
  • sourceSheetId (จำนวนเต็ม, ต้องระบุ): รหัสชีตที่จะทำซ้ำ
  • insertSheetIndex (จำนวนเต็ม ไม่บังคับ): ดัชนีแบบ 0 ที่ควรแทรกชีตใหม่
  • newSheetId (จำนวนเต็ม ไม่บังคับ): รหัสสำหรับชีตใหม่
  • newSheetName (สตริง (ไม่บังคับ)): ชื่อชีตใหม่
  • findReplace: ค้นหาและแทนที่ข้อความที่พบด้วยข้อความอื่น สคีมา:
  • find (สตริง, ต้องระบุ): ค่าที่จะค้นหา
  • replacement (สตริง, ต้องระบุ): ค่าที่ใช้แทนที่
  • ขอบเขต (ต้องระบุเพียง 1 รายการ):
    • range (ออบเจ็กต์): ช่วงตารางกริด
    • sheetId (จำนวนเต็ม): รหัสชีต
    • allSheets (บูลีน): true เพื่อค้นหาชีตทั้งหมด
  • matchCase / matchEntireCell / searchByRegex / includeFormulas (บูลีน ไม่บังคับ)
  • insertDimension: แทรกแถวหรือคอลัมน์ใหม่ในชีต สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูลที่จะแทรก ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})
  • inheritFromBefore (บูลีน ไม่บังคับ): true เพื่อรับค่าการจัดรูปแบบจากแถว/คอลัมน์ก่อนหน้า
  • insertRange: แทรกเซลล์ใหม่ในชีต โดยเลื่อนเซลล์ที่มีอยู่ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะแทรกเซลล์
  • shiftDimension (สตริง, ต้องระบุ): "ROWS" หรือ "COLUMNS"
  • moveDimension: ย้ายแถวหรือคอลัมน์ไปยังตำแหน่งอื่นในชีต สคีมา:
  • source (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูลแหล่งที่มา ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})
  • destinationIndex (จำนวนเต็ม, ต้องระบุ): ดัชนีปลายทางแบบ Zero-Based
  • updateEmbeddedObjectPosition: อัปเดตตำแหน่งของออบเจ็กต์ที่ฝัง (เช่น แผนภูมิ รูปภาพ) สคีมา:
  • objectId (จำนวนเต็ม, ต้องระบุ): รหัสของออบเจ็กต์ที่ฝัง
  • newPosition (ออบเจ็กต์, ต้องระบุ): ตำแหน่งใหม่ ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ (เช่น "overlayPosition.anchorCell")
  • pasteData: วางข้อมูล (HTML หรือคั่นด้วยตัวคั่น) ลงในชีต สคีมา:
  • coordinate (ออบเจ็กต์, ต้องระบุ): พิกัดซ้ายบน ({"sheetId": int, "rowIndex": int, "columnIndex": int})
  • data (สตริง, ต้องระบุ): ข้อความที่ใช้ตัวคั่นหรือข้อมูล HTML
  • delimiter (สตริง, ไม่บังคับ) หรือ html (บูลีน, ไม่บังคับ)
  • type (สตริง, ไม่บังคับ): "PASTE_NORMAL", "PASTE_VALUES" ฯลฯ
  • textToColumns: แปลงคอลัมน์ข้อความเป็นคอลัมน์ข้อความหลายคอลัมน์ สคีมา:
  • source (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดคอลัมน์เดียว
  • delimiterType (สตริง, ต้องระบุ): "COMMA", "SEMICOLON", "PERIOD", "SPACE", "CUSTOM", "AUTODETECT"
  • delimiter (สตริง (ไม่บังคับ)): อักขระตัวคั่นเมื่อ delimiterType เป็น "CUSTOM"
  • updateFilterView: อัปเดตพร็อพเพอร์ตี้ของมุมมองตัวกรอง สคีมา:
  • filter (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของมุมมองตัวกรอง รวมถึง filterViewId
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ (เช่น "title,criteria" หรือ "*")
  • deleteRange: ลบช่วงเซลล์ออกจากชีต โดยเลื่อนเซลล์ที่เหลือ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะลบ
  • shiftDimension (สตริง, ต้องระบุ): "ROWS" หรือ "COLUMNS"
  • appendDimension: เพิ่มมิติข้อมูลต่อท้ายชีต สคีมา:
  • sheetId (จำนวนเต็ม, ต้องระบุ): รหัสชีต
  • dimension (สตริง, ต้องระบุ): "ROWS" หรือ "COLUMNS"
  • length (จำนวนเต็ม, ต้องระบุ): จำนวนแถวหรือคอลัมน์ที่จะเพิ่มต่อท้าย
  • addConditionalFormatRule: เพิ่มกฎการจัดรูปแบบตามเงื่อนไขใหม่ สคีมา:
  • rule (ออบเจ็กต์, ต้องระบุ): กฎการจัดรูปแบบตามเงื่อนไข ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}})
  • index (จำนวนเต็ม ไม่บังคับ): ดัชนีแบบ 0 ที่ควรแทรกกฎ
  • updateConditionalFormatRule: อัปเดตกฎการจัดรูปแบบตามเงื่อนไขที่มีอยู่ สคีมา:
  • rule (ออบเจ็กต์, ต้องระบุ): กฎการจัดรูปแบบตามเงื่อนไขใหม่
  • ดัชนี/รหัสกฎ (ต้องระบุ 1 รายการ)
    • index (จำนวนเต็ม): ดัชนีแบบ Zero-based ของกฎ
    • sheetId (จำนวนเต็ม): รหัสชีตหากอัปเดตตามดัชนีชีต
  • newIndex (จำนวนเต็ม ไม่บังคับ): ดัชนีใหม่สำหรับการย้ายกฎ
  • deleteConditionalFormatRule: ลบกฎการจัดรูปแบบตามเงื่อนไขที่มีอยู่ สคีมา:
  • index (จำนวนเต็ม, ต้องระบุ): ดัชนีแบบ 0 ของกฎที่จะลบ
  • sheetId (จำนวนเต็ม, ต้องระบุ): รหัสชีตของกฎ
  • sortRange: จัดเรียงข้อมูลในช่วง สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะจัดเรียง
  • sortSpecs (อาร์เรย์ของ SortSpec, ต้องระบุ): ข้อกำหนดการจัดเรียง ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}])
  • setDataValidation: ตั้งค่าการตรวจสอบข้อมูลสำหรับเซลล์อย่างน้อย 1 เซลล์ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริด
  • rule (ออบเจ็กต์, ไม่บังคับ): กฎการตรวจสอบ ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}) หากละเว้น จะล้างการตรวจสอบ
  • setBasicFilter: ตั้งค่าตัวกรองพื้นฐานในชีต สคีมา:
  • filter (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของตัวกรองพื้นฐาน ({"range": GridRange, "criteria": map, "sortSpecs": list})
  • addProtectedRange: เพิ่มช่วงที่มีการป้องกัน สคีมา:
  • protectedRange (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของช่วงที่มีการป้องกัน ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}})
  • updateProtectedRange: อัปเดตช่วงที่มีการป้องกัน สคีมา:
  • protectedRange (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของช่วงที่มีการป้องกันด้วย protectedRangeId
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ (เช่น "description,warningOnly" หรือ "*")
  • deleteProtectedRange: ลบช่วงที่ป้องกันไว้ สคีมา:
  • protectedRangeId (จำนวนเต็ม, ต้องระบุ): รหัสของช่วงที่มีการป้องกันที่ต้องการลบ
  • autoResizeDimensions: ปรับขนาดมิติข้อมูลอย่างน้อย 1 รายการโดยอัตโนมัติตามเนื้อหาของเซลล์ สคีมา:
  • dimensions (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูล ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})
  • addChart: เพิ่มแผนภูมิ สคีมา:
  • chart (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของแผนภูมิ ({"spec": {"title": string, "basicChart": {"chartType": "COLUMN"|"BAR"|"LINE"|"PIE"|"COMBO"|"SCATTER", "legendPosition": string, "axis": list, "domains": list, "series": list}}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}})
  • updateChartSpec: อัปเดตข้อกำหนดของแผนภูมิ สคีมา:
  • chartId (จำนวนเต็ม, ต้องระบุ): รหัสของแผนภูมิ
  • spec (ออบเจ็กต์, ต้องระบุ): ข้อกำหนดของแผนภูมิใหม่
  • updateBanding: อัปเดตช่วงที่มีแถบสี สคีมา:
  • bandedRange (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของช่วงที่มีแถบสีพร้อม bandedRangeId
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์
  • addBanding: เพิ่มช่วงที่มีแถบสีใหม่ สคีมา:
  • bandedRange (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของช่วงที่มีแถบสี ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}})
  • deleteBanding: นำช่วงที่มีแถบสีออก สคีมา:
  • bandedRangeId (จำนวนเต็ม, ต้องระบุ): รหัสของช่วงที่มีแถบสีที่ต้องการลบ
  • createDeveloperMetadata: สร้างข้อมูลเมตาใหม่ของนักพัฒนาซอฟต์แวร์ สคีมา:
  • developerMetadata (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของข้อมูลเมตา ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"})
  • updateDeveloperMetadata: อัปเดตรายการข้อมูลเมตาของนักพัฒนาซอฟต์แวร์ที่มีอยู่ สคีมา:
  • dataFilters (อาร์เรย์ของ DataFilter, ต้องระบุ): ตัวกรองเพื่อเลือกข้อมูลเมตา
  • developerMetadata (ออบเจ็กต์, ต้องระบุ): ค่าข้อมูลเมตาที่อัปเดต
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์
  • deleteDeveloperMetadata: ลบข้อมูลเมตาของนักพัฒนาแอป สคีมา:
  • dataFilter (ออบเจ็กต์, ต้องระบุ): ตัวกรองที่อธิบายเกณฑ์สำหรับข้อมูลเมตาที่จะลบ
  • randomizeRange: สุ่มลำดับแถวในช่วง สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะสุ่ม
  • addDimensionGroup: สร้างกลุ่มในช่วงที่ระบุ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูลที่จะจัดกลุ่ม ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})
  • deleteDimensionGroup: ลบกลุ่มในช่วงที่ระบุ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงมิติข้อมูลของกลุ่มที่จะลบ
  • updateDimensionGroup: อัปเดตสถานะของกลุ่มที่ระบุ สคีมา:
  • dimensionGroup (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของกลุ่ม ({"range": DimensionRange, "depth": int, "collapsed": bool})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์ (เช่น "collapsed")
  • trimWhitespace: ตัดช่องว่าง (เช่น เว้นวรรค แท็บ หรือขึ้นบรรทัดใหม่) ในเซลล์ สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่มีเซลล์ที่จะตัดช่องว่าง
  • deleteDuplicates: นำแถวที่มีค่าซ้ำกันในคอลัมน์ที่ระบุของช่วงเซลล์ออก สคีมา:
  • range (ออบเจ็กต์, ต้องระบุ): ช่วงตารางกริดที่จะนำรายการที่ซ้ำกันออก
  • comparisonColumns (อาร์เรย์ของ DimensionRange, ไม่บังคับ): คอลัมน์ที่เฉพาะเจาะจงที่จะวิเคราะห์
  • updateEmbeddedObjectBorder: อัปเดตเส้นขอบของออบเจ็กต์ที่ฝัง สคีมา:
  • objectId (จำนวนเต็ม, ต้องระบุ): รหัสของออบเจ็กต์ที่ฝัง
  • border (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของเส้นขอบ ({"colorStyle": ColorStyle, "section": "ALL"})
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์
  • addSlicer: เพิ่มตัวควบคุมตัวกรอง สคีมา:
  • slicer (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของตัวควบคุมตัวกรอง ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}})
  • updateSlicerSpec: อัปเดตข้อกำหนดของตัวควบคุมตัวกรอง สคีมา:
  • slicerId (จำนวนเต็ม, ต้องระบุ): รหัสของตัวแบ่งส่วนข้อมูล
  • spec (ออบเจ็กต์, ต้องระบุ): ข้อกำหนดของตัวควบคุมตัวกรองใหม่
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์
  • addDataSource: เพิ่มแหล่งข้อมูล สคีมา:
  • dataSource (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของแหล่งข้อมูล ({"spec": {"bigQuery": {"projectId": string, "query": string}}})
  • updateDataSource: อัปเดตแหล่งข้อมูล สคีมา:
  • dataSource (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของแหล่งข้อมูลที่มี dataSourceId
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์
  • deleteDataSource: ลบแหล่งข้อมูล สคีมา:
  • dataSourceId (สตริง, ต้องระบุ): รหัสของแหล่งข้อมูลที่จะลบ
  • refreshDataSource: รีเฟรชแหล่งข้อมูลอย่างน้อย 1 แหล่งและ dbobject ที่เชื่อมโยง สคีมา:
  • dataSourceId (สตริง, ไม่บังคับ) หรือ isAll (บูลีน, ไม่บังคับ) หรือ references (ออบเจ็กต์, ไม่บังคับ)
  • force (บูลีน, ไม่บังคับ): บังคับให้รีเฟรชหรือไม่
  • cancelDataSourceRefresh: ยกเลิกการรีเฟรชแหล่งข้อมูลอย่างน้อย 1 แหล่งและ dbobject ที่เกี่ยวข้อง สคีมา:
  • dataSourceId (สตริง, ไม่บังคับ) หรือ isAll (บูลีน, ไม่บังคับ) หรือ references (ออบเจ็กต์, ไม่บังคับ)
  • addTable: เพิ่มตาราง สคีมา:
  • table (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของตาราง ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool})
  • updateTable: อัปเดตตาราง สคีมา:
  • table (ออบเจ็กต์, ต้องระบุ): คำจำกัดความของตารางที่มี tableId
  • fields (สตริง, ต้องระบุ): ฟิลด์มาสก์
  • deleteTable: คำขอให้ลบตาราง สคีมา:
  • tableId (สตริง, ต้องระบุ): รหัสของตารางที่จะลบ
  • insertComment: แทรกความคิดเห็นลงในสเปรดชีต สคีมา:
  • content (สตริง, ต้องระบุ): เนื้อหาความคิดเห็นแบบข้อความธรรมดา
  • coordinate (ออบเจ็กต์, ต้องระบุ): พิกัดตารางกริดในชีตเพื่อยึดความคิดเห็น:
    • sheetId (จำนวนเต็ม ต้องระบุ): รหัสชีต
    • rowIndex (จำนวนเต็ม ต้องระบุ): ดัชนีแถวที่เริ่มต้นด้วย 0
    • columnIndex (จำนวนเต็ม, ต้องระบุ): ดัชนีคอลัมน์แบบ 0
  • assigneeEmailAddress (สตริง, ไม่บังคับ): อีเมลของผู้ได้รับมอบหมายความคิดเห็น
  • addCommentReply: เพิ่มการตอบกลับในชุดความคิดเห็นที่มีอยู่ นอกจากนี้ยังใช้เพื่อแก้ไขหรือเปิดชุดข้อความอีกครั้งด้วย สคีมา:
  • commentId (สตริง, ต้องระบุ): รหัสของชุดความคิดเห็น
  • post (ออบเจ็กต์, ต้องระบุ):
    • content (สตริง ต้องระบุ เว้นแต่ commentAction จะเป็น RESOLVE หรือ REOPEN): เนื้อหาข้อความธรรมดาของโพสต์ตอบกลับ
    • commentAction (สตริง, ไม่บังคับ): การดำเนินการที่ทำกับการตอบกลับนี้ ("RESOLVE" หรือ "REOPEN")
    • assigneeEmail (สตริง ไม่บังคับ): อีเมลที่จะมอบหมายชุดข้อความให้ใหม่
  • updateCommentPost: อัปเดตเนื้อหาของโพสต์ความคิดเห็นในชุดความคิดเห็น สคีมา:
  • commentId (สตริง, ต้องระบุ): รหัสของชุดความคิดเห็น
  • postId (สตริง, ต้องระบุ): รหัสของโพสต์ความคิดเห็นที่จะอัปเดต
  • content (สตริง, ต้องระบุ): เนื้อหาที่อัปเดตของโพสต์ความคิดเห็น
  • deleteComment: ลบชุดความคิดเห็น สคีมา:
  • commentId (สตริง, ต้องระบุ): รหัสของชุดความคิดเห็นที่จะลบ
  • deleteCommentReply: ลบโพสต์ตอบกลับ สคีมา:
  • commentId (สตริง, ต้องระบุ): รหัสของชุดความคิดเห็น
  • postId (สตริง, ต้องระบุ): รหัสของโพสต์ตอบกลับที่จะลบ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ MCP update_spreadsheet

คำขอ Curl
curl --location 'https://sheetsmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_spreadsheet",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

UpdateContentRequest

การแสดง JSON
{
  "spreadsheetId": string,
  "requests": [
    {
      object
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
ช่อง
spreadsheetId

string

ต้องระบุ รหัสของสเปรดชีตที่จะอัปเดต

requests[]

object (Struct format)

ต้องระบุ รายการอัปเดตที่จะใช้กับสเปรดชีต คำขอแต่ละรายการควรเป็นออบเจ็กต์คำขอ spreadsheets.batchUpdate ที่ถูกต้อง โดยใช้สคีมาที่ระบุไว้ในเอกสาร https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request ระบบจะใช้คำขอตามลำดับที่ระบุไว้ หากคำขอใดไม่ถูกต้อง ระบบจะไม่ใช้คำขอใดๆ เลย

writeControl

object (WriteControl)

ไม่บังคับ ให้การควบคุมวิธีดำเนินการคำขอเขียน

โครงสร้าง

การแสดง JSON
{
  "fields": {
    string: value,
    ...
  }
}
ช่อง
fields

map (key: string, value: value (Value format))

แมปค่าที่พิมพ์แบบไดนามิกที่ไม่ได้เรียงลำดับ

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

การแสดง JSON
{
  "key": string,
  "value": value
}
ช่อง
key

string

value

value (Value format)

ค่า

การแสดง JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
ช่อง
ฟิลด์ Union kind ประเภทของค่า kind ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
nullValue

null

แสดง null ของ JSON

numberValue

number

แสดงตัวเลข JSON ต้องไม่ใช่ NaN, Infinity หรือ -Infinity เนื่องจาก JSON ไม่รองรับค่าเหล่านี้ นอกจากนี้ยังไม่สามารถแสดงค่า Int64 ขนาดใหญ่ได้ เนื่องจากโดยทั่วไปแล้วรูปแบบ JSON ไม่รองรับค่าดังกล่าวในประเภทตัวเลข

stringValue

string

แสดงสตริง JSON

boolValue

boolean

แสดงบูลีน JSON (true หรือ false ลิเทอรัลใน JSON)

structValue

object (Struct format)

แสดงออบเจ็กต์ JSON

listValue

array (ListValue format)

แสดงอาร์เรย์ JSON

ListValue

การแสดง JSON
{
  "values": [
    value
  ]
}
ช่อง
values[]

value (Value format)

ฟิลด์ที่ซ้ำได้ของค่าที่พิมพ์แบบไดนามิก

WriteControl

การแสดง JSON
{

  "requiredRevisionId": string
}
ช่อง
ฟิลด์ Union control กำหนดการแก้ไขสเปรดชีตที่จะเขียน และลักษณะการทำงานของคำขอหากการแก้ไขนั้นไม่ใช่การแก้ไขสเปรดชีตในปัจจุบัน control ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
requiredRevisionId

string

รหัสการแก้ไขของสเปรดชีตที่จะใช้คำขอเขียน หากไม่ใช่การแก้ไขเอกสารล่าสุด ระบบจะไม่ประมวลผลคำขอและจะแสดงข้อผิดพลาด 400 Bad Request

เมื่อระบบแสดงรหัสการแก้ไขที่จำเป็นในการตอบกลับ แสดงว่ารหัสการแก้ไขของสเปรดชีตหลังจากใช้คำขอแล้ว

NullValue

แสดง null ของ JSON

NullValue เป็น Sentinel โดยใช้ enum ที่มีค่าเดียวเพื่อแสดงค่า Null สำหรับยูเนียนประเภท Value

ระบบจะถือว่าช่องประเภท NullValue ที่มีค่าอื่นนอกเหนือจาก 0 ไม่ถูกต้อง โปรแกรมจัดลำดับ ProtoJSON ส่วนใหญ่จะส่ง Value ที่มี null_value ตั้งค่าเป็น JSON null โดยไม่คำนึงถึงค่าจำนวนเต็ม และจะไป-กลับเป็นค่า 0

Enum
NULL_VALUE ค่า Null

สคีมาเอาต์พุต

UpdateContentResponse

การแสดง JSON
{
  "content": {
    object
  }
}
ช่อง
content

object (Struct format)

การตอบกลับ spreadsheets.batchUpdate ในรูปแบบ JSON ของ Sheets API พร้อมช่อง status

โครงสร้าง

การแสดง JSON
{
  "fields": {
    string: value,
    ...
  }
}
ช่อง
fields

map (key: string, value: value (Value format))

แมปค่าที่พิมพ์แบบไดนามิกที่ไม่ได้เรียงลำดับ

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

การแสดง JSON
{
  "key": string,
  "value": value
}
ช่อง
key

string

value

value (Value format)

ค่า

การแสดง JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
ช่อง
ฟิลด์ Union kind ประเภทของค่า kind ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
nullValue

null

แสดง null ของ JSON

numberValue

number

แสดงตัวเลข JSON ต้องไม่ใช่ NaN, Infinity หรือ -Infinity เนื่องจาก JSON ไม่รองรับค่าเหล่านี้ นอกจากนี้ยังไม่สามารถแสดงค่า Int64 ขนาดใหญ่ได้ เนื่องจากโดยทั่วไปแล้วรูปแบบ JSON ไม่รองรับค่าดังกล่าวในประเภทตัวเลข

stringValue

string

แสดงสตริง JSON

boolValue

boolean

แสดงบูลีน JSON (true หรือ false ลิเทอรัลใน JSON)

structValue

object (Struct format)

แสดงออบเจ็กต์ JSON

listValue

array (ListValue format)

แสดงอาร์เรย์ JSON

ListValue

การแสดง JSON
{
  "values": [
    value
  ]
}
ช่อง
values[]

value (Value format)

ฟิลด์ที่ซ้ำได้ของค่าที่พิมพ์แบบไดนามิก

NullValue

แสดง null ของ JSON

NullValue เป็น Sentinel โดยใช้ enum ที่มีค่าเดียวเพื่อแสดงค่า Null สำหรับยูเนียนประเภท Value

ระบบจะถือว่าช่องประเภท NullValue ที่มีค่าอื่นนอกเหนือจาก 0 ไม่ถูกต้อง โปรแกรมจัดลำดับ ProtoJSON ส่วนใหญ่จะส่ง Value ที่มี null_value ตั้งค่าเป็น JSON null โดยไม่คำนึงถึงค่าจำนวนเต็ม และจะไป-กลับเป็นค่า 0

Enum
NULL_VALUE ค่า Null

คำอธิบายประกอบเครื่องมือ

ระบบจะส่งคำอธิบายประกอบเครื่องมือไปยังไคลเอ็นต์ MCP เพื่ออธิบายความเสี่ยงพื้นฐานของเครื่องมือหนึ่งๆ ไคลเอ็นต์ส่วนใหญ่จะถือว่าคำแนะนำเหล่านี้ไม่น่าเชื่อถือ แต่สามารถใช้เพื่อตัดสินใจว่าจะส่งข้อความแจ้งยืนยันไปยังผู้ใช้เมื่อใด

นอกจากสตริงชื่อแล้ว ยังมีการกำหนดคำแนะนำบูลีนต่อไปนี้ด้วย

  • readOnlyHint: หากเป็นจริง เครื่องมือจะไม่แก้ไขสภาพแวดล้อมของตนเอง ค่าเริ่มต้น: false
  • destructiveHint: หากเป็น "จริง" เครื่องมือจะดำเนินการที่ทำลายล้างได้ หากเป็นเท็จ เครื่องมือจะดำเนินการได้เฉพาะการดำเนินการแบบเพิ่มเท่านั้น ค่าเริ่มต้น: true
  • idempotentHint: หากเป็นจริง การเรียกใช้เครื่องมือซ้ำๆ ด้วยอาร์กิวเมนต์เดียวกันจะไม่มีผลเพิ่มเติมต่อสภาพแวดล้อม ค่าเริ่มต้น: false
  • openWorldHint: หากเป็นจริง เครื่องมือจะโต้ตอบกับ "โอเพนเวิลด์" ของเอนทิตีภายนอกได้ หากเป็นเท็จ เครื่องมือจะโต้ตอบได้เฉพาะกับเอนทิตีภายในเท่านั้น ตัวอย่างเช่น เครื่องมือค้นเว็บจะเป็นแบบโอเพนเวิลด์ ส่วนเครื่องมือความทรงจำจะไม่ใช่แบบโอเพนเวิลด์

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ✅

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets