MCP Tools Reference: sheetsmcp.googleapis.com

टूल: update_spreadsheet

स्प्रेडशीट में एक या उससे ज़्यादा अपडेट लागू करता है.

यह REST API में spreadsheets.batchUpdate से मेल खाता है: 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: एक साथ कई सेल अपडेट करता है. स्कीमा:
  • क्षेत्र (सिर्फ़ एक ज़रूरी है):
    • 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 (integer, ज़रूरी है): एंबेड किए गए उस ऑब्जेक्ट का आईडी जिसे मिटाना है.
  • deleteFilterView: यह किसी शीट से फ़िल्टर व्यू को मिटाता है. स्कीमा:
  • filterId (इंटीजर, ज़रूरी है): मिटाए जाने वाले फ़िल्टर व्यू का आईडी.
  • duplicateFilterView: फ़िल्टर व्यू का डुप्लीकेट बनाता है. स्कीमा:
  • filterId (integer, required): उस फ़िल्टर व्यू का आईडी जिसकी डुप्लीकेट कॉपी बनानी है.
  • duplicateSheet: इससे शीट का डुप्लीकेट बनता है. स्कीमा:
  • sourceSheetId (integer, required): डुप्लीकेट की जाने वाली शीट का आईडी.
  • insertSheetIndex (इंटीजर, ज़रूरी नहीं): शून्य से शुरू होने वाला इंडेक्स, जहां नई शीट को शामिल किया जाना चाहिए.
  • newSheetId (integer, optional): नई शीट का आईडी.
  • newSheetName (स्ट्रिंग, ज़रूरी नहीं): नई शीट का नाम.
  • findReplace: किसी टेक्स्ट को ढूंढकर, उसकी जगह दूसरा टेक्स्ट डालता है. स्कीमा:
  • find (स्ट्रिंग, ज़रूरी है): खोजी जाने वाली वैल्यू.
  • replacement (स्ट्रिंग, ज़रूरी है): बदली जाने वाली वैल्यू.
  • स्कोप (सिर्फ़ एक ज़रूरी है):
    • range (ऑब्जेक्ट): ग्रिड रेंज.
    • sheetId (integer): शीट आईडी.
    • 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 (इंटीजर, ज़रूरी है): शून्य पर आधारित डेस्टिनेशन इंडेक्स.
  • updateEmbeddedObjectPosition: एम्बेड किए गए ऑब्जेक्ट (जैसे, चार्ट, इमेज) की पोज़िशन अपडेट करता है. स्कीमा:
  • objectId (इंटीजर, ज़रूरी है): एंबेड किए गए ऑब्जेक्ट का आईडी.
  • newPosition (ऑब्जेक्ट, ज़रूरी है): नई पोज़िशन ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).
  • fields (स्ट्रिंग, ज़रूरी है): फ़ील्ड मास्क (जैसे, "overlayPosition.anchorCell").
  • pasteData: शीट में डेटा (एचटीएमएल या डीलिमिटेड) चिपकाता है. स्कीमा:
  • coordinate (ऑब्जेक्ट, ज़रूरी है): सबसे ऊपर बाईं ओर का कोऑर्डिनेट ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
  • data (स्ट्रिंग, ज़रूरी है): डीलिमिटेड टेक्स्ट या एचटीएमएल डेटा.
  • 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 (integer, optional): शून्य से शुरू होने वाला इंडेक्स, जहां नियम को शामिल किया जाना चाहिए.
  • updateConditionalFormatRule: इससे शर्त के साथ फ़ॉर्मैटिंग के किसी मौजूदा नियम को अपडेट किया जाता है. स्कीमा:
  • rule (ऑब्जेक्ट, ज़रूरी है): शर्त के साथ फ़ॉर्मैटिंग का नया नियम.
  • इंडेक्स / नियम आईडी (इनमें से कोई एक ज़रूरी है):
    • index (integer): नियम का ज़ीरो-बेस्ड इंडेक्स.
    • sheetId (इंटीजर): शीट इंडेक्स के हिसाब से अपडेट करने पर, शीट आईडी.
  • newIndex (इंटीजर, ज़रूरी नहीं): नियम को मूव करने के लिए नया इंडेक्स.
  • deleteConditionalFormatRule: इससे, कंडिशनल फ़ॉर्मैटिंग का कोई मौजूदा नियम मिट जाता है. स्कीमा:
  • index (इंटीजर, ज़रूरी है): मिटाए जाने वाले नियम का शून्य से शुरू होने वाला इंडेक्स.
  • sheetId (इंटीजर, ज़रूरी है): नियम की शीट का आईडी.
  • sortRange: किसी रेंज में मौजूद डेटा को क्रम से लगाता है. स्कीमा:
  • range (ऑब्जेक्ट, ज़रूरी है): क्रम से लगाने के लिए ग्रिड रेंज.
  • sortSpecs (SortSpec का कलेक्शन, ज़रूरी है): क्रम से लगाने की जानकारी ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).
  • setDataValidation: एक या उससे ज़्यादा सेल के लिए, डेटा की पुष्टि करने की सुविधा सेट करता है. स्कीमा:
  • 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: यह फ़ंक्शन, सेल के कॉन्टेंट के आधार पर एक या उससे ज़्यादा डाइमेंशन का साइज़ अपने-आप बदल देता है. स्कीमा:
  • 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 (integer, ज़रूरी है): स्लाइसर का आईडी.
  • spec (ऑब्जेक्ट, ज़रूरी है): स्लाइसर की नई जानकारी.
  • fields (स्ट्रिंग, ज़रूरी है): फ़ील्ड मास्क.
  • addDataSource: इससे कोई डेटा सोर्स जोड़ा जाता है. स्कीमा:
  • dataSource (ऑब्जेक्ट, ज़रूरी है): डेटा सोर्स की परिभाषा ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).
  • updateDataSource: डेटा सोर्स को अपडेट करता है. स्कीमा:
  • dataSource (ऑब्जेक्ट, ज़रूरी है): dataSourceId के साथ डेटा सोर्स की परिभाषा.
  • fields (स्ट्रिंग, ज़रूरी है): फ़ील्ड मास्क.
  • deleteDataSource: इससे डेटा सोर्स मिटाया जाता है. स्कीमा:
  • dataSourceId (स्ट्रिंग, ज़रूरी है): मिटाए जाने वाले डेटा सोर्स का आईडी.
  • refreshDataSource: एक या एक से ज़्यादा डेटा सोर्स और उनसे जुड़े dbobjects को रीफ़्रेश करता है. स्कीमा:
  • dataSourceId (स्ट्रिंग, ज़रूरी नहीं) या isAll (बूलियन, ज़रूरी नहीं) या references (ऑब्जेक्ट, ज़रूरी नहीं).
  • force (बूलियन, ज़रूरी नहीं): इससे पता चलता है कि पेज को रीफ़्रेश करना है या नहीं.
  • cancelDataSourceRefresh: एक या एक से ज़्यादा डेटा सोर्स और उनसे जुड़े dbobjects को रीफ़्रेश होने से रोकता है. स्कीमा:
  • dataSourceId (स्ट्रिंग, ज़रूरी नहीं) या isAll (बूलियन, ज़रूरी नहीं) या references (ऑब्जेक्ट, ज़रूरी नहीं).
  • addTable: इससे कोई टेबल जोड़ी जाती है. स्कीमा:
  • table (ऑब्जेक्ट, ज़रूरी है): टेबल की परिभाषा ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).
  • updateTable: टेबल को अपडेट करता है. स्कीमा:
  • table (ऑब्जेक्ट, ज़रूरी है): tableId के साथ टेबल की परिभाषा.
  • fields (स्ट्रिंग, ज़रूरी है): फ़ील्ड मास्क.
  • deleteTable: टेबल मिटाने का अनुरोध. स्कीमा:
  • tableId (स्ट्रिंग, ज़रूरी है): मिटाई जाने वाली टेबल का आईडी.
  • insertComment: स्प्रेडशीट में कोई टिप्पणी शामिल करता है. स्कीमा:
  • content (स्ट्रिंग, ज़रूरी है): टिप्पणी का सामान्य टेक्स्ट.
  • coordinate (ऑब्जेक्ट, ज़रूरी है): टिप्पणी को ऐंकर करने के लिए, शीट में ग्रिड कोऑर्डिनेट:
    • sheetId (इंटीजर, ज़रूरी है): शीट आईडी.
    • rowIndex (integer, ज़रूरी है): शून्य से शुरू होने वाला पंक्ति इंडेक्स.
    • columnIndex (इंटीजर, ज़रूरी है): शून्य से शुरू होने वाला कॉलम इंडेक्स.
  • assigneeEmailAddress (स्ट्रिंग, ज़रूरी नहीं): उस व्यक्ति का ईमेल पता जिसे टिप्पणी असाइन की गई है.
  • addCommentReply: इससे किसी मौजूदा टिप्पणी की थ्रेड में जवाब जोड़ा जाता है. इसका इस्तेमाल, किसी थ्रेड को हल करने या फिर से खोलने के लिए भी किया जाता है. स्कीमा:
  • commentId (स्ट्रिंग, ज़रूरी है): टिप्पणी की थ्रेड का आईडी.
  • post (ऑब्जेक्ट, ज़रूरी है):
    • content (स्ट्रिंग, ज़रूरी है. हालांकि, अगर commentAction की वैल्यू RESOLVE या REOPEN है, तो यह ज़रूरी नहीं है): जवाब वाली पोस्ट का सादा टेक्स्ट कॉन्टेंट.
    • commentAction (स्ट्रिंग, ज़रूरी नहीं): इस जवाब के साथ की गई कार्रवाई ("RESOLVE" या "REOPEN").
    • assigneeEmail (स्ट्रिंग, ज़रूरी नहीं): वह ईमेल पता जिसे थ्रेड असाइन करना है.
  • updateCommentPost: इससे टिप्पणी की थ्रेड में मौजूद किसी टिप्पणी के कॉन्टेंट को अपडेट किया जाता है. स्कीमा:
  • commentId (स्ट्रिंग, ज़रूरी है): टिप्पणी की थ्रेड का आईडी.
  • postId (स्ट्रिंग, ज़रूरी है): अपडेट की जाने वाली टिप्पणी का आईडी.
  • content (स्ट्रिंग, ज़रूरी है): टिप्पणी पोस्ट का अपडेट किया गया कॉन्टेंट.
  • deleteComment: इससे टिप्पणी की थ्रेड मिटाई जाती है. स्कीमा:
  • commentId (स्ट्रिंग, ज़रूरी है): मिटाई जाने वाली टिप्पणी की थ्रेड का आईडी.
  • deleteCommentReply: जवाब वाली पोस्ट मिटाता है. स्कीमा:
  • commentId (स्ट्रिंग, ज़रूरी है): टिप्पणी की थ्रेड का आईडी.
  • postId (स्ट्रिंग, ज़रूरी है): मिटाई जाने वाली पोस्ट के जवाब का आईडी.

यहां दिए गए कोड सैंपल में, curl का इस्तेमाल करके 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 Request ऑब्जेक्ट होना चाहिए. इसके लिए, यहां दिए गए स्कीमा का इस्तेमाल करें: 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
}
फ़ील्ड
यूनियन फ़ील्ड kind. वैल्यू किस तरह की है. kind इनमें से सिर्फ़ एक हो सकता है:
nullValue

null

यह JSON null को दिखाता है.

numberValue

number

यह JSON नंबर को दिखाता है. NaN, Infinity या -Infinity नहीं होना चाहिए, क्योंकि ये JSON में काम नहीं करते. यह बड़ी Int64 वैल्यू को भी नहीं दिखा सकता, क्योंकि JSON फ़ॉर्मैट आम तौर पर उन्हें अपने नंबर टाइप में इस्तेमाल नहीं करता.

stringValue

string

यह JSON स्ट्रिंग को दिखाता है.

boolValue

boolean

यह JSON बूलियन (JSON में true या false लिटरल) को दिखाता है.

structValue

object (Struct format)

यह JSON ऑब्जेक्ट को दिखाता है.

listValue

array (ListValue format)

यह JSON कलेक्शन को दिखाता है.

ListValue

JSON के काेड में दिखाना
{
  "values": [
    value
  ]
}
फ़ील्ड
values[]

value (Value format)

डाइनैमिक तौर पर टाइप की गई वैल्यू का दोहराया गया फ़ील्ड.

WriteControl

JSON के काेड में दिखाना
{

  "requiredRevisionId": string
}
फ़ील्ड
यूनियन फ़ील्ड control. इससे यह तय होता है कि स्प्रेडशीट के किस बदलाव में डेटा लिखना है. साथ ही, अगर वह बदलाव स्प्रेडशीट का मौजूदा बदलाव नहीं है, तो अनुरोध को कैसे मैनेज किया जाना चाहिए. control इनमें से सिर्फ़ एक हो सकता है:
requiredRevisionId

string

उस स्प्रेडशीट का रिविज़न आईडी जिस पर डेटा डालने का अनुरोध लागू किया जाएगा. अगर यह दस्तावेज़ का सबसे नया वर्शन नहीं है, तो अनुरोध को प्रोसेस नहीं किया जाएगा. साथ ही, 400 Bad Request वाली गड़बड़ी का मैसेज दिखेगा.

जब किसी जवाब में ज़रूरी बदलाव का आईडी दिखता है, तो इससे अनुरोध लागू होने के बाद स्प्रेडशीट के बदलाव का आईडी पता चलता है.

NullValue

यह JSON null को दिखाता है.

NullValue एक सेंटिनल है. यह सिर्फ़ एक वैल्यू वाले enum का इस्तेमाल करके, Value टाइप यूनियन के लिए शून्य वैल्यू दिखाता है.

NullValue टाइप के फ़ील्ड में 0 के अलावा कोई भी वैल्यू अमान्य मानी जाती है. ज़्यादातर ProtoJSON सीरियलाइज़र, पूर्णांक वैल्यू के बावजूद, JSON null के तौर पर सेट किए गए null_value के साथ Value को एमिट करेंगे. साथ ही, 0 वैल्यू पर वापस जाएंगे.

Enums
NULL_VALUE Null वैल्यू.

आउटपुट स्कीमा

UpdateContentResponse

JSON के काेड में दिखाना
{
  "content": {
    object
  }
}
फ़ील्ड
content

object (Struct format)

Sheets API के JSON फ़ॉर्मैट में spreadsheets.batchUpdate रिस्पॉन्स और 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
}
फ़ील्ड
यूनियन फ़ील्ड kind. वैल्यू किस तरह की है. kind इनमें से सिर्फ़ एक हो सकता है:
nullValue

null

यह JSON null को दिखाता है.

numberValue

number

यह JSON नंबर को दिखाता है. NaN, Infinity या -Infinity नहीं होना चाहिए, क्योंकि ये JSON में काम नहीं करते. यह बड़ी Int64 वैल्यू को भी नहीं दिखा सकता, क्योंकि JSON फ़ॉर्मैट आम तौर पर उन्हें अपने नंबर टाइप में इस्तेमाल नहीं करता.

stringValue

string

यह JSON स्ट्रिंग को दिखाता है.

boolValue

boolean

यह JSON बूलियन (JSON में true या false लिटरल) को दिखाता है.

structValue

object (Struct format)

यह JSON ऑब्जेक्ट को दिखाता है.

listValue

array (ListValue format)

यह JSON कलेक्शन को दिखाता है.

ListValue

JSON के काेड में दिखाना
{
  "values": [
    value
  ]
}
फ़ील्ड
values[]

value (Value format)

डाइनैमिक तौर पर टाइप की गई वैल्यू का दोहराया गया फ़ील्ड.

NullValue

यह JSON null को दिखाता है.

NullValue एक सेंटिनल है. यह सिर्फ़ एक वैल्यू वाले enum का इस्तेमाल करके, Value टाइप यूनियन के लिए शून्य वैल्यू दिखाता है.

NullValue टाइप के फ़ील्ड में 0 के अलावा कोई भी वैल्यू अमान्य मानी जाती है. ज़्यादातर ProtoJSON सीरियलाइज़र, पूर्णांक वैल्यू के बावजूद, JSON null के तौर पर सेट किए गए null_value के साथ Value को एमिट करेंगे. साथ ही, 0 वैल्यू पर वापस जाएंगे.

Enums
NULL_VALUE Null वैल्यू.

टूल एनोटेशन

एमसीपी क्लाइंट को टूल एनोटेशन भेजे जाते हैं, ताकि किसी टूल से जुड़े बुनियादी जोखिम के बारे में बताया जा सके. ज़्यादातर क्लाइंट इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.

टाइटल स्ट्रिंग के साथ-साथ, बूलियन हिंट के बारे में यहां बताया गया है:

  • readOnlyHint: अगर इसकी वैल्यू true है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता. डिफ़ॉल्ट: false.
  • destructiveHint: अगर इसकी वैल्यू true है, तो टूल नुकसान पहुंचाने वाली कार्रवाइयां कर सकता है. अगर यह वैल्यू false पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: true.
  • idempotentHint: अगर इसकी वैल्यू true है, तो टूल को एक ही आर्ग्युमेंट के साथ बार-बार कॉल करने पर, उसके एनवायरमेंट पर कोई और असर नहीं पड़ेगा. डिफ़ॉल्ट: false.
  • openWorldHint: सही होने पर, टूल बाहरी इकाइयों की 'विशाल दुनिया' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू false है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब सर्च टूल ओपन वर्ल्ड होगा, जबकि मेमोरी टूल ओपन वर्ल्ड नहीं होगा.

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