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 (string, required): Field mask of properties to update (e.g. "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 (object, optional): Explicit source and fill length ({"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 (object, required): গন্তব্য গ্রিড রেঞ্জ।
  • pasteType (স্ট্রিং, ঐচ্ছিক): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA".
  • pasteOrientation (স্ট্রিং, ঐচ্ছিক): "NORMAL" অথবা "TRANSPOSE".
  • mergeCells: সেলগুলিকে একসাথে মার্জ করে। স্কিমা:
  • range (object, প্রয়োজনীয়): মার্জ করার জন্য গ্রিড রেঞ্জ।
  • mergeType (স্ট্রিং, প্রয়োজনীয়): "MERGE_ALL", "MERGE_COLUMNS" অথবা "MERGE_ROWS".
  • unmergeCells: মার্জ করা সেল আনমার্জ করে। স্কিমা:
  • range (object, required): সব সেল আনমার্জ করার জন্য গ্রিড রেঞ্জ।
  • updateBorders: সেলের রেঞ্জে বর্ডার আপডেট করে। স্কিমা:
  • range (object, আবশ্যক): বর্ডার আপডেট করার জন্য গ্রিড রেঞ্জ।
  • 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 (object): গ্রিড রেঞ্জ।
  • 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 (object, প্রয়োজনীয়): মুছে ফেলার জন্য ডাইমেনশন রেঞ্জ ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})।
  • deleteEmbeddedObject: কোনও শিটে এম্বেড করা অবজেক্ট (যেমন, চার্ট, ছবি) মুছে দেয়। স্কিমা:
  • objectId (পূর্ণসংখ্যা, প্রয়োজনীয়): মুছে ফেলার জন্য এম্বেড করা অবজেক্টের আইডি।
  • deleteFilterView: কোনও শিট থেকে ফিল্টার ভিউ মুছে দেয়। স্কিমা:
  • filterId (পূর্ণসংখ্যা, প্রয়োজনীয়): মুছে দেওয়ার জন্য ফিল্টার ভিউয়ের আইডি।
  • duplicateFilterView: ফিল্টার ভিউ ডুপ্লিকেট করা। স্কিমা:
  • filterId (পূর্ণসংখ্যা, প্রয়োজনীয়): ডুপ্লিকেট করার জন্য ফিল্টার ভিউয়ের আইডি।
  • duplicateSheet: কোনও শিটের ডুপ্লিকেট তৈরি করে। স্কিমা:
  • sourceSheetId (পূর্ণসংখ্যা, প্রয়োজনীয়): ডুপ্লিকেট করার জন্য শিট আইডি।
  • insertSheetIndex (পূর্ণসংখ্যা, ঐচ্ছিক): নতুন শিট যেখানে যোগ করা হবে, সেখানে শূন্য-ভিত্তিক ইন্ডেক্স।
  • newSheetId (পূর্ণসংখ্যা, ঐচ্ছিক): নতুন শিটের আইডি।
  • newSheetName (স্ট্রিং, ঐচ্ছিক): নতুন শিটের নাম।
  • findReplace: কিছু টেক্সট খুঁজে বের করে সেগুলিকে অন্য টেক্সট দিয়ে প্রতিস্থাপন করে। স্কিমা:
  • find (স্ট্রিং, প্রয়োজনীয়): যে ভ্যালু সার্চ করতে হবে।
  • replacement (স্ট্রিং, প্রয়োজনীয়): রিপ্লেসমেন্ট ভ্যালু।
  • স্কোপ (ঠিক একটি প্রয়োজন):
    • range (object): গ্রিড রেঞ্জ।
    • 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 (পূর্ণসংখ্যা, প্রয়োজনীয়): ডেস্টিনেশনের জিরো-বেসড ইন্ডেক্স।
  • 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 (object, প্রয়োজনীয়): সিঙ্গেল-কলাম গ্রিড রেঞ্জ।
  • delimiterType (স্ট্রিং, আবশ্যক): "COMMA", "SEMICOLON", "PERIOD", "SPACE", "CUSTOM", "AUTODETECT".
  • delimiter (স্ট্রিং, ঐচ্ছিক): delimiterType-এর মান "CUSTOM" হলে, ডিলিমিটার অক্ষর।
  • updateFilterView: ফিল্টার ভিউয়ের প্রপার্টি আপডেট করে। স্কিমা:
  • filter (অবজেক্ট, প্রয়োজনীয়): filterViewId সহ ফিল্টার ভিউয়ের সংজ্ঞা।
  • fields (স্ট্রিং, প্রয়োজনীয়): ফিল্ড মাস্ক (যেমন, "title,criteria" বা "*")।
  • deleteRange: কোনও শিট থেকে সেলের রেঞ্জ মুছে দেয় এবং বাকি সেলগুলিকে শিফট করে। স্কিমা:
  • range (object, required): মুছে ফেলার জন্য গ্রিড রেঞ্জ।
  • 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 (পূর্ণসংখ্যা, ঐচ্ছিক): নিয়মটি যেখানে যোগ করতে হবে তার শূন্য-ভিত্তিক ইন্ডেক্স।
  • updateConditionalFormatRule: আগে থেকে থাকা শর্তাধীন ফর্ম্যাটের নিয়ম আপডেট করে। স্কিমা:
  • rule (অবজেক্ট, প্রয়োজনীয়): নতুন শর্তাধীন ফর্ম্যাট করার নিয়ম।
  • ইনডেক্স / নিয়ম আইডি (একটি দিতে হবে):
    • index (পূর্ণসংখ্যা): নিয়মের জিরো-বেসড ইন্ডেক্স।
    • sheetId (পূর্ণসংখ্যা): শিট ইনডেক্স অনুযায়ী আপডেট করলে শিট আইডি।
  • newIndex (পূর্ণসংখ্যা, ঐচ্ছিক): নিয়ম সরানোর জন্য নতুন ইন্ডেক্স।
  • deleteConditionalFormatRule: আগে থেকে থাকা শর্তাধীন ফর্ম্যাট করার নিয়ম মুছে দেয়। স্কিমা:
  • index (পূর্ণসংখ্যা, প্রয়োজনীয়): মুছে ফেলার জন্য নিয়মের জিরো-বেসড ইন্ডেক্স।
  • sheetId (পূর্ণসংখ্যা, প্রয়োজনীয়): নিয়মের শিট আইডি।
  • sortRange: একটি রেঞ্জে ডেটা সাজায়। স্কিমা:
  • range (object, required): সর্ট করার জন্য গ্রিড রেঞ্জ।
  • sortSpecs (SortSpec-এর অ্যারে, প্রয়োজনীয়): বাছাই করার স্পেসিফিকেশন ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}])।
  • setDataValidation: এক বা একাধিক সেলের জন্য ডেটা যাচাইকরণ সেট করে। স্কিমা:
  • range (object, প্রয়োজনীয়): গ্রিড রেঞ্জ।
  • 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 (object, প্রয়োজনীয়): নতুন চার্ট স্পেসিফিকেশন।
  • updateBanding: ব্যান্ডেড রেঞ্জ আপডেট করে। স্কিমা:
  • bandedRange (অবজেক্ট, প্রয়োজনীয়): bandedRangeId সহ ব্যান্ডেড রেঞ্জের সংজ্ঞা।
  • fields (স্ট্রিং, আবশ্যক): ফিল্ড মাস্ক।
  • addBanding: নতুন ব্যান্ডেড রেঞ্জ যোগ করে। স্কিমা:
  • bandedRange (অবজেক্ট, প্রয়োজনীয়): ব্যান্ডেড রেঞ্জের সংজ্ঞা ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}})।
  • deleteBanding: ব্যান্ডেড রেঞ্জ সরিয়ে দেয়। স্কিমা:
  • bandedRangeId (পূর্ণসংখ্যা, প্রয়োজনীয়): মুছে ফেলার জন্য ব্যান্ডেড রেঞ্জের আইডি।
  • createDeveloperMetadata: নতুন ডেভেলপার মেটাডেটা তৈরি করে। স্কিমা:
  • developerMetadata (object, required): মেটাডেটা সংজ্ঞা ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"})।
  • updateDeveloperMetadata: আগে থেকে থাকা ডেভেলপার মেটাডেটা এন্ট্রি আপডেট করে। স্কিমা:
  • dataFilters (DataFilter-এর অ্যারে, প্রয়োজনীয়): মেটাডেটা বেছে নেওয়ার জন্য ফিল্টার।
  • developerMetadata (অবজেক্ট, প্রয়োজনীয়): আপডেট করা মেটাডেটা ভ্যালু।
  • fields (স্ট্রিং, আবশ্যক): ফিল্ড মাস্ক।
  • deleteDeveloperMetadata: ডেভেলপার মেটাডেটা মুছে দেয়। স্কিমা:
  • dataFilter (object, required): মেটাডেটা মুছে ফেলার জন্য ফিল্টার করার মাপকাঠি বর্ণনা করে।
  • randomizeRange: কোনও রেঞ্জের সারির ক্রম র‍্যান্ডমাইজ করে। স্কিমা:
  • range (object, required): র‍্যান্ডমাইজ করার জন্য গ্রিড রেঞ্জ।
  • addDimensionGroup: নির্দিষ্ট রেঞ্জ জুড়ে একটি গ্রুপ তৈরি করে। স্কিমা:
  • range (অবজেক্ট, প্রয়োজনীয়): গ্রুপ করার জন্য ডাইমেনশন রেঞ্জ ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int})।
  • deleteDimensionGroup: নির্দিষ্ট রেঞ্জের মধ্যে থাকা গ্রুপ মুছে দেয়। স্কিমা:
  • range (object, প্রয়োজনীয়): মুছে ফেলার জন্য গ্রুপের ডাইমেনশন রেঞ্জ।
  • updateDimensionGroup: নির্দিষ্ট গ্রুপের স্ট্যাটাস আপডেট করে। স্কিমা:
  • dimensionGroup (অবজেক্ট, প্রয়োজনীয়): গ্রুপের সংজ্ঞা ({"range": DimensionRange, "depth": int, "collapsed": bool})।
  • fields (স্ট্রিং, আবশ্যক): ফিল্ড মাস্ক (যেমন, "collapsed")।
  • trimWhitespace: হোয়াইটস্পেস (যেমন স্পেস, ট্যাব বা নতুন লাইন) সহ সেল ট্রিম করে। স্কিমা:
  • range (object, প্রয়োজনীয়): ট্রিম করার জন্য গ্রিড রেঞ্জ।
  • deleteDuplicates: সেল রেঞ্জের নির্দিষ্ট কলামে ডুপ্লিকেট ভ্যালু থাকা সারি সরিয়ে দেয়। স্কিমা:
  • range (object, required): ডুপ্লিকেট সরানোর জন্য গ্রিড রেঞ্জ।
  • comparisonColumns (DimensionRange-এর অ্যারে, ঐচ্ছিক): বিশ্লেষণ করার জন্য নির্দিষ্ট কলাম।
  • updateEmbeddedObjectBorder: এম্বেড করা অবজেক্টের বর্ডার আপডেট করে। স্কিমা:
  • objectId (পূর্ণসংখ্যা, প্রয়োজনীয়): এম্বেড করা অবজেক্টের আইডি।
  • border (অবজেক্ট, প্রয়োজনীয়): বর্ডারের সংজ্ঞা ({"colorStyle": ColorStyle, "section": "ALL"})।
  • fields (স্ট্রিং, আবশ্যক): ফিল্ড মাস্ক।
  • addSlicer: একটি স্লাইসার যোগ করে। স্কিমা:
  • slicer (object, required): স্লাইসারের সংজ্ঞা ({"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: এক বা একাধিক ডেটা সোর্স ও সংশ্লিষ্ট dbobject রিফ্রেশ করে। স্কিমা:
  • dataSourceId (স্ট্রিং, ঐচ্ছিক) বা isAll (বুলিয়ান, ঐচ্ছিক) বা references (অবজেক্ট, ঐচ্ছিক)।
  • force (boolean, optional): Whether to force refresh.
  • cancelDataSourceRefresh: এক বা একাধিক ডেটা সোর্স ও সংশ্লিষ্ট dbobject রিফ্রেশ করা বাতিল করে। স্কিমা:
  • dataSourceId (স্ট্রিং, ঐচ্ছিক) বা isAll (বুলিয়ান, ঐচ্ছিক) বা references (অবজেক্ট, ঐচ্ছিক)।
  • addTable: একটি টেবিল যোগ করে। স্কিমা:
  • table (অবজেক্ট, প্রয়োজনীয়): টেবিলের সংজ্ঞা ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool})।
  • updateTable: টেবিল আপডেট করে। স্কিমা:
  • table (অবজেক্ট, প্রয়োজনীয়): tableId সহ টেবিলের সংজ্ঞা।
  • fields (স্ট্রিং, আবশ্যক): ফিল্ড মাস্ক।
  • deleteTable: টেবিল মুছে দেওয়ার অনুরোধ। স্কিমা:
  • tableId (স্ট্রিং, প্রয়োজনীয়): মুছে ফেলার জন্য টেবিলের আইডি।
  • insertComment: স্প্রেডশিটে কমেন্ট যোগ করে। স্কিমা:
  • content (string, required): প্লেন টেক্সট কমেন্ট কন্টেন্ট।
  • coordinate (object, required): কমেন্ট অ্যাঙ্কর করার জন্য শিটে গ্রিড কোঅর্ডিনেট:
    • sheetId (পূর্ণসংখ্যা, প্রয়োজনীয়): শিট আইডি।
    • rowIndex (পূর্ণসংখ্যা, প্রয়োজনীয়): শূন্য-ভিত্তিক সারি ইনডেক্স।
    • columnIndex (পূর্ণসংখ্যা, প্রয়োজনীয়): ০-ভিত্তিক কলাম ইন্ডেক্স।
  • assigneeEmailAddress (স্ট্রিং, ঐচ্ছিক): কমেন্ট অ্যাসাইন করা হয়েছে এমন ব্যক্তির ইমেল আইডি।
  • addCommentReply: আগে থেকে থাকা কমেন্ট থ্রেডে উত্তর যোগ করে। এছাড়াও, থ্রেড সমাধান করতে বা আবার খুলতে ব্যবহার করা হয়। স্কিমা:
  • commentId (string, required): কমেন্ট থ্রেডের আইডি।
  • post (অবজেক্ট, প্রয়োজনীয়):
    • content (string, commentAction RESOLVE বা REOPEN না হলে প্রয়োজন): উত্তরের পোস্টের সাধারণ টেক্সট কন্টেন্ট।
    • commentAction (string, optional): Action taken with this reply ("RESOLVE" or "REOPEN").
    • assigneeEmail (string, optional): Email address to newly assign the thread to.
  • updateCommentPost: কমেন্ট থ্রেডে কমেন্ট পোস্টের কন্টেন্ট আপডেট করে। স্কিমা:
  • commentId (string, required): কমেন্ট থ্রেডের আইডি।
  • postId (স্ট্রিং, প্রয়োজনীয়): আপডেট করার জন্য কমেন্ট পোস্টের আইডি।
  • content (স্ট্রিং, প্রয়োজনীয়): কমেন্ট পোস্টের আপডেট করা কন্টেন্ট।
  • deleteComment: কমেন্ট থ্রেড মুছে দেয়। স্কিমা:
  • commentId (string, required): মুছে দেওয়ার জন্য কমেন্ট থ্রেডের আইডি।
  • deleteCommentReply: কোনও উত্তর পোস্ট মুছে দেয়। স্কিমা:
  • commentId (string, required): কমেন্ট থ্রেডের আইডি।
  • postId (স্ট্রিং, প্রয়োজনীয়): মুছে ফেলার জন্য উত্তর পোস্টের আইডি।

update_spreadsheet MCP টুল কল করার জন্য কীভাবে 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)

ঐচ্ছিক। রাইট রিকোয়েস্ট কীভাবে এক্সিকিউট করা হবে তা নিয়ন্ত্রণ করে।

Struct

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 হল একটি সেন্টিনেল, যা Value টাইপ ইউনিয়নের জন্য নাল ভ্যালু বোঝাতে শুধুমাত্র একটি ভ্যালু সহ একটি এনুম ব্যবহার করে।

0 ছাড়া অন্য কোনও ভ্যালু সহ NullValue ধরনের ফিল্ডকে ভুল বলে বিবেচনা করা হয়। বেশিরভাগ ProtoJSON সিরিয়ালাইজার, পূর্ণসংখ্যা ভ্যালু যাই হোক না কেন, JSON null হিসেবে সেট করা null_value সহ Value এমিট করবে এবং তাই 0 ভ্যালুতে রাউন্ড ট্রিপ করবে।

Enums
NULL_VALUE নাল ভ্যালু।

আউটপুট স্কিমা

JSON অবজেক্টের প্রতিনিধিত্ব করে।

JSON অবজেক্টের শব্দার্থ সঠিকভাবে ক্যাপচার করার উদ্দেশ্যে তৈরি করা কী-ভ্যালু ম্যাপের কোনও নির্দিষ্ট ক্রম নেই। এটি ProtoJSON ফর্ম্যাটে মেসেজ ফিল্ড হিসেবে যেকোনও নির্বিচারে JSON পেলোড পার্স করার সুবিধা দেয়।

এটি ইন্টারঅপারেবল JSON-এর জন্য RFC 8259 নির্দেশিকা মেনে চলে: উল্লেখযোগ্যভাবে, এই ধরনের ডেটা বড় Int64 ভ্যালু বা NaN/Infinity নম্বরকে উপস্থাপন করতে পারে না, কারণ JSON ফর্ম্যাট সাধারণত এর নম্বর ধরনের মধ্যে সেইসব ভ্যালুকে সাপোর্ট করে না।

আপনি যদি নিজের মেসেজে কোনও JSON পার্স করতে না চান, তাহলে এই ধরনের মেসেজ ব্যবহার করার পরিবর্তে কাস্টম টাইপ করা মেসেজ ব্যবহার করা উচিত।

Struct

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 হল একটি সেন্টিনেল, যা Value টাইপ ইউনিয়নের জন্য নাল ভ্যালু বোঝাতে শুধুমাত্র একটি ভ্যালু সহ একটি এনুম ব্যবহার করে।

0 ছাড়া অন্য কোনও ভ্যালু সহ NullValue ধরনের ফিল্ডকে ভুল বলে বিবেচনা করা হয়। বেশিরভাগ ProtoJSON সিরিয়ালাইজার, পূর্ণসংখ্যা ভ্যালু যাই হোক না কেন, JSON null হিসেবে সেট করা null_value সহ Value এমিট করবে এবং তাই 0 ভ্যালুতে রাউন্ড ট্রিপ করবে।

Enums
NULL_VALUE নাল ভ্যালু।

টুল অ্যানোটেশন

কোনও টুলের প্রাথমিক ঝুঁকি বর্ণনা করতে MCP ক্লায়েন্টদের কাছে টুল অ্যানোটেশন পাঠানো হয়। বেশিরভাগ ক্লায়েন্ট এই ধরনের ইঙ্গিতকে অবিশ্বস্ত হিসেবে বিবেচনা করে, তবে ব্যবহারকারীকে কখন কনফার্মেশন প্রম্পট পাঠানো হতে পারে তা নির্ধারণ করতে এগুলি ব্যবহার করা যেতে পারে।

টাইটেল স্ট্রিংয়ের সাথে, নিম্নলিখিত বুলিয়ান হিন্টকে এইভাবে সংজ্ঞায়িত করা হয়:

  • readOnlyHint: সত্য হলে, টুলটি তার এনভায়রনমেন্ট পরিবর্তন করে না। ডিফল্ট: false.
  • destructiveHint: মান 'সত্য' হলে, টুলটি ডেটা মুছে দেওয়ার মতো অ্যাকশন পারফর্ম করতে পারবে। এটি মিথ্যা হলে, টুলটি শুধুমাত্র যোগাত্মক অ্যাকশন পারফর্ম করতে পারবে। ডিফল্ট: true.
  • idempotentHint: true হলে, একই আর্গুমেন্ট সহ টুলটি বারবার কল করলে এর এনভায়রনমেন্টের উপর কোনও অতিরিক্ত প্রভাব পড়বে না। ডিফল্ট: false.
  • openWorldHint: এটি সত্য হলে, টুলটি এক্সটার্নাল এন্টিটির 'ওপেন ওয়ার্ল্ড' ইন্টার‍্যাক্ট করতে পারবে। ফলস হলে, টুলটি শুধুমাত্র ইন্টার্নাল এন্টিটির সাথে ইন্টার‍্যাক্ট করতে পারবে। যেমন, ওয়েব সার্চ টুল হল ওপেন ওয়ার্ল্ড, কিন্তু মেমরি টুল ওপেন ওয়ার্ল্ড নয়।

ধ্বংসাত্মক ইঙ্গিত: ❌ | আইডেমপোটেন্ট ইঙ্গিত: ❌ | শুধুমাত্র পড়ার ইঙ্গিত: ❌ | ওপেন ওয়ার্ল্ড ইঙ্গিত: ✅

অনুমোদনের স্কোপ

নিম্নলিখিত OAuth স্কোপের মধ্যে একটি প্রয়োজন:

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