Narzędzie: update_spreadsheet
Stosuje co najmniej 1 aktualizację do arkusza kalkulacyjnego.
Odpowiada metodzie spreadsheets.batchUpdate w interfejsie REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate.
Lista możliwych aktualizacji:
updateSpreadsheetProperties: aktualizuje właściwości arkusza kalkulacyjnego. Schemat:properties(obiekt, wymagany): właściwości arkusza kalkulacyjnego do zaktualizowania ({"title": string, "locale": string, "timeZone": string}).fields(ciąg znaków, wymagany): maska pola właściwości do zaktualizowania (np."title"lub"*").updateSheetProperties: aktualizuje właściwości arkusza. Schemat:properties(obiekt, wymagany): właściwości arkusza ({"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(ciąg znaków, wymagany): maska pola właściwości do zaktualizowania (np."title","gridProperties.frozenRowCount").updateDimensionProperties: aktualizuje właściwości wymiarów (np. wysokość wiersza lub szerokość kolumny). Schemat:range(obiekt, wymagany): zakres wymiaru ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).properties(obiekt, wymagany): właściwości wymiaru ({"pixelSize": int, "hiddenByUser": bool}).fields(ciąg znaków, wymagany): maska pola właściwości do zaktualizowania (np."pixelSize").updateNamedRange: aktualizuje zakres nazwany. Schemat:namedRange(obiekt, wymagany): definicja zakresu nazwanego ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).fields(ciąg tekstowy, wymagany): maska pól do zaktualizowania (np."name,range"lub"*").repeatCell: powtarza pojedynczą komórkę w zakresie. Schemat:range(obiekt, wymagany): zakres siatki, do którego mają zostać zastosowane dane lub formatowanie komórek ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).cell(obiekt, wymagany): dane komórki ({"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(ciąg tekstowy, wymagany): maska pola pól komórki do zaktualizowania (np."userEnteredFormat.textFormat.bold"lub"userEnteredValue").addNamedRange: dodaje zakres nazwany. Schemat:namedRange(obiekt, wymagany): zakres nazwany do dodania ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).deleteNamedRange: usuwa zakres nazwany według jego identyfikatora. Schemat:namedRangeId(ciąg tekstowy, wymagany): identyfikator zakresu nazwanego, który chcesz usunąć.addSheet: dodaje arkusz. Schemat:properties(obiekt, opcjonalny): właściwości arkusza ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}}).deleteSheet: usuwa arkusz. Schemat:sheetId(liczba całkowita, wymagana): identyfikator arkusza, który chcesz usunąć.autoFill: automatycznie wypełnia więcej danych na podstawie istniejących danych. Schemat:range(obiekt, opcjonalny): zakres do sprawdzenia i wypełnienia ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).sourceAndDestination(obiekt, opcjonalny): jawne źródło i długość wypełnienia ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int}).useAlternateSeries(wartość logiczna, opcjonalnie): określa, czy używać serii alternatywnej.cutPaste: wycina dane z jednego obszaru i wkleja je w innym. Schemat:source(obiekt, wymagany): zakres siatki źródłowej.destination(obiekt, wymagany): współrzędna docelowa lewego górnego rogu ({"sheetId": int, "rowIndex": int, "columnIndex": int}).pasteType(ciąg znaków, opcjonalny):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".copyPaste: kopiuje dane z jednego obszaru i wkleja je w innym. Schemat:source(obiekt, wymagany): zakres siatki źródłowej.destination(obiekt, wymagany): docelowy zakres siatki.pasteType(ciąg znaków, opcjonalny):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".pasteOrientation(ciąg znaków, opcjonalny):"NORMAL"lub"TRANSPOSE".mergeCells: scala komórki. Schemat:range(obiekt, wymagany): zakres siatki do scalenia.mergeType(ciąg znaków, wymagany):"MERGE_ALL","MERGE_COLUMNS"lub"MERGE_ROWS".unmergeCells: rozdziela scalone komórki. Schemat:range(obiekt, wymagany): zakres siatki, w którym mają zostać rozdzielone wszystkie komórki.updateBorders: aktualizuje obramowania w zakresie komórek. Schemat:range(obiekt, wymagany): zakres siatki, dla którego mają zostać zaktualizowane obramowania.top/bottom/left/right/innerHorizontal/innerVertical(obiekt, opcjonalny): styl obramowania ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).updateCells: aktualizuje wiele komórek jednocześnie. Schemat:- Obszar (wymagany jest dokładnie jeden):
start(obiekt): współrzędna lewego górnego rogu ({"sheetId": int, "rowIndex": int, "columnIndex": int}).range(obiekt): zakres siatki.
rows(tablica RowData, wymagana): wiersze komórek ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}]).fields(ciąg tekstowy, wymagany): maska pola pól komórki do zaktualizowania (np."userEnteredValue"lub"userEnteredFormat").addFilterView: dodaje widok przefiltrowany. Schemat:filter(obiekt, wymagany): definicja widoku przefiltrowanego ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list}).appendCells: dołącza komórki po ostatnim wierszu z danymi w arkuszu. Schemat:sheetId(liczba całkowita, wymagana): identyfikator arkusza, do którego mają zostać dołączone dane.rows(tablica RowData, wymagana): wiersze danych do dołączenia.fields(ciąg znaków, wymagany): maska pola (np."userEnteredValue").clearBasicFilter: usuwa podstawowy filtr z arkusza. Schemat:sheetId(liczba całkowita, wymagana): identyfikator arkusza, w którym chcesz wyczyścić filtr podstawowy.deleteDimension: usuwa wiersze lub kolumny w arkuszu. Schemat:range(obiekt, wymagany): zakres wymiarów do usunięcia ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteEmbeddedObject: usuwa osadzony obiekt (np. wykres, obraz) w arkuszu. Schemat:objectId(liczba całkowita, wymagana): identyfikator umieszczonego obiektu, który chcesz usunąć.deleteFilterView: usuwa widok przefiltrowany z arkusza. Schemat:filterId(liczba całkowita, wymagana): identyfikator widoku przefiltrowanego, który chcesz usunąć.duplicateFilterView: duplikuje widok przefiltrowany. Schemat:filterId(liczba całkowita, wymagana): identyfikator widoku przefiltrowanego, który chcesz zduplikować.duplicateSheet: duplikuje arkusz. Schemat:sourceSheetId(liczba całkowita, wymagana): identyfikator arkusza do zduplikowania.insertSheetIndex(liczba całkowita, opcjonalna): indeks rozpoczynający się od 0, w którym ma zostać wstawiony nowy arkusz.newSheetId(liczba całkowita, opcjonalna): identyfikator nowego arkusza.newSheetName(ciąg znaków, opcjonalny): nazwa nowego arkusza.findReplace: znajduje i zastępuje wystąpienia pewnego tekstu innym tekstem. Schemat:find(ciąg znaków, wymagany): wartość do wyszukania.replacement(ciąg znaków, wymagany): wartość zastępcza.- Zakres (wymagany jest dokładnie 1):
range(obiekt): zakres siatki.sheetId(liczba całkowita): identyfikator arkusza.allSheets(wartość logiczna):true, aby przeszukać wszystkie arkusze.
matchCase/matchEntireCell/searchByRegex/includeFormulas(wartość logiczna, opcjonalna).insertDimension: wstawia nowe wiersze lub kolumny w arkuszu. Schemat:range(obiekt, wymagany): zakres wymiarów do wstawienia ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).inheritFromBefore(wartość logiczna, opcjonalna):true, aby odziedziczyć formatowanie z poprzedniego wiersza lub poprzedniej kolumny.insertRange: wstawia nowe komórki w arkuszu, przesuwając istniejące komórki. Schemat:range(obiekt, wymagany): zakres siatki, do którego mają zostać wstawione komórki.shiftDimension(ciąg znaków, wymagany):"ROWS"lub"COLUMNS".moveDimension: przenosi wiersze lub kolumny do innej lokalizacji w arkuszu. Schemat:source(obiekt, wymagany): zakres wymiaru źródłowego ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).destinationIndex(liczba całkowita, wymagana): indeks miejsca docelowego zaczynający się od 0.updateEmbeddedObjectPosition: aktualizuje pozycję obiektu umieszczonego (np. wykresu, obrazu). Schemat:objectId(liczba całkowita, wymagana): identyfikator umieszczonego obiektu.newPosition(obiekt, wymagany): nowa pozycja ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).fields(ciąg znaków, wymagany): maska pola (np."overlayPosition.anchorCell").pasteData: wkleja dane (HTML lub rozdzielane) do arkusza. Schemat:coordinate(obiekt, wymagany): współrzędna lewego górnego rogu ({"sheetId": int, "rowIndex": int, "columnIndex": int}).data(ciąg tekstowy, wymagany): tekst rozdzielany znakami lub dane HTML.delimiter(ciąg tekstowy, opcjonalnie) lubhtml(wartość logiczna, opcjonalnie).type(ciąg znaków, opcjonalny):"PASTE_NORMAL","PASTE_VALUES"itp.textToColumns: konwertuje kolumnę tekstu na wiele kolumn tekstu. Schemat:source(obiekt, wymagany): zakres siatki jednokolumnowej.delimiterType(ciąg znaków, wymagany):"COMMA","SEMICOLON","PERIOD","SPACE","CUSTOM","AUTODETECT".delimiter(ciąg znaków, opcjonalny): znak separatora, gdydelimiterTypeto"CUSTOM".updateFilterView: aktualizuje właściwości widoku przefiltrowanego. Schemat:filter(obiekt, wymagany): definicja widoku przefiltrowanego, w tymfilterViewId.fields(ciąg znaków, wymagany): maska pola (np."title,criteria"lub"*").deleteRange: usuwa zakres komórek z arkusza, przesuwając pozostałe komórki. Schemat:range(obiekt, wymagany): zakres siatki do usunięcia.shiftDimension(ciąg znaków, wymagany):"ROWS"lub"COLUMNS".appendDimension: dołącza wymiary na końcu arkusza. Schemat:sheetId(liczba całkowita, wymagana): identyfikator arkusza.dimension(ciąg znaków, wymagany):"ROWS"lub"COLUMNS".length(liczba całkowita, wymagana): liczba wierszy lub kolumn do dodania.addConditionalFormatRule: dodaje nową regułę formatowania warunkowego. Schemat:rule(obiekt, wymagany): reguła formatowania warunkowego ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}}).index(liczba całkowita, opcjonalna): indeks zaczynający się od 0, w którym należy wstawić regułę.updateConditionalFormatRule: aktualizuje istniejącą regułę formatowania warunkowego. Schemat:rule(obiekt, wymagany): nowa reguła formatowania warunkowego.- Indeks / identyfikator reguły (wymagany jeden z tych elementów):
index(liczba całkowita): indeks reguły liczony od zera.sheetId(liczba całkowita): identyfikator arkusza, jeśli aktualizujesz według indeksu arkusza.
newIndex(liczba całkowita, opcjonalna): nowy indeks do przeniesienia reguły.deleteConditionalFormatRule: usuwa istniejącą regułę formatowania warunkowego. Schemat:index(liczba całkowita, wymagana): indeks reguły do usunięcia (liczony od 0).sheetId(liczba całkowita, wymagana): identyfikator arkusza reguły.sortRange: sortuje dane w zakresie. Schemat:range(obiekt, wymagany): zakres siatki do posortowania.sortSpecs(tablica SortSpec, wymagana): specyfikacje sortowania ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).setDataValidation: ustawia sprawdzanie poprawności danych w jednej lub kilku komórkach. Schemat:range(obiekt, wymagany): zakres siatki.rule(obiekt, opcjonalny): reguła weryfikacji ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}). Jeśli zostanie pominięty, weryfikacja zostanie wyczyszczona.setBasicFilter: ustawia filtr podstawowy w arkuszu. Schemat:filter(obiekt, wymagany): podstawowa definicja filtra ({"range": GridRange, "criteria": map, "sortSpecs": list}).addProtectedRange: dodaje zakres chroniony. Schemat:protectedRange(obiekt, wymagany): definicja zakresu chronionego ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}}).updateProtectedRange: aktualizuje zakres chroniony. Schemat:protectedRange(obiekt, wymagany): definicja chronionego zakresu zprotectedRangeId.fields(ciąg znaków, wymagany): maska pola (np."description,warningOnly"lub"*").deleteProtectedRange: usuwa zakres chroniony. Schemat:protectedRangeId(liczba całkowita, wymagana): identyfikator zakresu chronionego, który chcesz usunąć.autoResizeDimensions: automatycznie zmienia rozmiar co najmniej jednego wymiaru na podstawie zawartości komórki. Schemat:dimensions(obiekt, wymagany): zakres wymiaru ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).addChart: dodaje wykres. Schemat:chart(obiekt, wymagany): definicja wykresu ({"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: aktualizuje specyfikacje wykresu. Schemat:chartId(liczba całkowita, wymagana): identyfikator wykresu.spec(obiekt, wymagany): specyfikacja nowego wykresu.updateBanding: aktualizuje zakres pasmowy. Schemat:bandedRange(obiekt, wymagany): definicja zakresu z naprzemiennymi kolorami zbandedRangeId.fields(ciąg znaków, wymagany): maska pola.addBanding: dodaje nowy zakres pasm. Schemat:bandedRange(obiekt, wymagany): definicja zakresu pasmowego ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}}).deleteBanding: usuwa zakres naprzemienny. Schemat:bandedRangeId(liczba całkowita, wymagana): identyfikator zakresu pasiastego do usunięcia.createDeveloperMetadata: tworzy nowe metadane dewelopera. Schemat:developerMetadata(obiekt, wymagany): definicja metadanych ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"}).updateDeveloperMetadata: aktualizuje istniejący wpis metadanych dewelopera. Schemat:dataFilters(tablica DataFilter, wymagana): filtry do wybierania metadanych.developerMetadata(obiekt, wymagany): zaktualizowane wartości metadanych.fields(ciąg znaków, wymagany): maska pola.deleteDeveloperMetadata: usuwa metadane dewelopera. Schemat:dataFilter(obiekt, wymagany): filtr opisujący kryteria metadanych do usunięcia.randomizeRange: losowo zmienia kolejność wierszy w zakresie. Schemat:range(obiekt, wymagany): zakres siatki do losowania.addDimensionGroup: tworzy grupę w określonym zakresie. Schemat:range(obiekt, wymagany): zakres wymiarów do pogrupowania ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteDimensionGroup: usuwa grupę w określonym zakresie. Schemat:range(obiekt, wymagany): zakres wymiarów grupy do usunięcia.updateDimensionGroup: aktualizuje stan określonej grupy. Schemat:dimensionGroup(obiekt, wymagany): definicja grupy ({"range": DimensionRange, "depth": int, "collapsed": bool}).fields(ciąg znaków, wymagany): maska pola (np."collapsed").trimWhitespace: usuwa z komórek odstępy (takie jak spacje, tabulatory lub nowe wiersze). Schemat:range(obiekt, wymagany): zakres siatki, którego komórki mają zostać przycięte.deleteDuplicates: usuwa wiersze zawierające zduplikowane wartości w określonych kolumnach zakresu komórek. Schemat:range(obiekt, wymagany): zakres siatki, z którego mają zostać usunięte duplikaty.comparisonColumns(tablica DimensionRange, opcjonalna): konkretne kolumny do przeanalizowania.updateEmbeddedObjectBorder: aktualizuje obramowanie obiektu umieszczonego. Schemat:objectId(liczba całkowita, wymagana): identyfikator umieszczonego obiektu.border(obiekt, wymagany): definicja obramowania ({"colorStyle": ColorStyle, "section": "ALL"}).fields(ciąg znaków, wymagany): maska pola.addSlicer: dodaje fragmentator. Schemat:slicer(obiekt, wymagany): definicja fragmentatora ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).updateSlicerSpec: aktualizuje specyfikacje fragmentatora. Schemat:slicerId(liczba całkowita, wymagana): identyfikator fragmentatora.spec(obiekt, wymagany): nowa specyfikacja fragmentatora.fields(ciąg znaków, wymagany): maska pola.addDataSource: dodaje źródło danych. Schemat:dataSource(obiekt, wymagany): definicja źródła danych ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).updateDataSource: aktualizuje źródło danych. Schemat:dataSource(obiekt, wymagany): definicja źródła danych zdataSourceId.fields(ciąg znaków, wymagany): maska pola.deleteDataSource: usuwa źródło danych. Schemat:dataSourceId(ciąg tekstowy, wymagany): identyfikator źródła danych, które chcesz usunąć.refreshDataSource: odświeża co najmniej 1 źródło danych i powiązane obiekty bazy danych. Schemat:dataSourceId(ciąg znaków, opcjonalnie) lubisAll(wartość logiczna, opcjonalnie) lubreferences(obiekt, opcjonalnie).force(wartość logiczna, opcjonalnie): określa, czy wymusić odświeżenie.cancelDataSourceRefresh: anuluje odświeżanie co najmniej jednego źródła danych i powiązanych obiektów bazy danych. Schemat:dataSourceId(ciąg znaków, opcjonalnie) lubisAll(wartość logiczna, opcjonalnie) lubreferences(obiekt, opcjonalnie).addTable: dodaje tabelę. Schemat:table(obiekt, wymagany): definicja tabeli ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).updateTable: aktualizuje tabelę. Schemat:table(obiekt, wymagany): definicja tabeli ztableId.fields(ciąg znaków, wymagany): maska pola.deleteTable: żądanie usunięcia tabeli. Schemat:tableId(ciąg tekstowy, wymagany): identyfikator tabeli, którą chcesz usunąć.insertComment: wstawia komentarz do arkusza kalkulacyjnego. Schemat:content(ciąg znaków, wymagany): treść komentarza tekstowego w formie zwykłego tekstu.coordinate(obiekt, wymagany): współrzędna siatki w arkuszu, do której ma zostać zakotwiczony komentarz:sheetId(liczba całkowita, wymagana): identyfikator arkusza.rowIndex(liczba całkowita, wymagana): indeks wiersza liczony od zera.columnIndex(liczba całkowita, wymagana): indeks kolumny w skali od 0.
assigneeEmailAddress(ciąg znaków, opcjonalny): adres e-mail osoby, której przypisano komentarz.addCommentReply: dodaje odpowiedź do istniejącego wątku komentarzy. Służy też do oznaczania wątku jako rozwiązanego lub do ponownego otwierania wątku. Schemat:commentId(ciąg znaków, wymagany): identyfikator wątku komentarzy.post(obiekt, wymagany):content(ciąg tekstowy, wymagany, chyba że commentAction ma wartość RESOLVE lub REOPEN): treść odpowiedzi w formie zwykłego tekstu.commentAction(ciąg znaków, opcjonalny): działanie podjęte w przypadku tej odpowiedzi ("RESOLVE"lub"REOPEN").assigneeEmail(ciąg znaków, opcjonalny): adres e-mail, do którego ma zostać przypisany wątek.
updateCommentPost: aktualizuje treść komentarza w wątku komentarzy. Schemat:commentId(ciąg znaków, wymagany): identyfikator wątku komentarzy.postId(ciąg znaków, wymagany): identyfikator posta z komentarzem, który ma zostać zaktualizowany.content(ciąg znaków, wymagany): zaktualizowana treść komentarza.deleteComment: usuwa wątek komentarza. Schemat:commentId(ciąg znaków, wymagany): identyfikator wątku komentarzy, który chcesz usunąć.deleteCommentReply: usuwa odpowiedź. Schemat:commentId(ciąg znaków, wymagany): identyfikator wątku komentarzy.postId(ciąg tekstowy, wymagany): identyfikator posta z odpowiedzią, który chcesz usunąć.
Poniższy przykładowy kod pokazuje, jak używać curl do wywoływania narzędzia MCP update_spreadsheet.
| Żądanie 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 }' |
Schemat wejściowy
UpdateContentRequest
| Zapis JSON |
|---|
{
"spreadsheetId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Pola | |
|---|---|
spreadsheetId |
Wymagane. Identyfikator arkusza kalkulacyjnego, który chcesz zaktualizować. |
requests[] |
Wymagane. Lista aktualizacji, które mają zostać zastosowane w arkuszu kalkulacyjnym. Każde żądanie powinno być prawidłowym obiektem żądania spreadsheets.batchUpdate, który używa schematu opisanego na stronie: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. Żądania będą stosowane w podanej kolejności. Jeśli którekolwiek żądanie jest nieprawidłowe, żadne żądania nie zostaną zastosowane. |
writeControl |
Opcjonalnie: Zapewnia kontrolę nad sposobem wykonywania żądań zapisu. |
Struct
| Zapis JSON |
|---|
{ "fields": { string: value, ... } } |
| Pola | |
|---|---|
fields |
Nieuporządkowana mapa wartości o typie dynamicznym. Obiekt zawierający listę par |
FieldsEntry
| Zapis JSON |
|---|
{ "key": string, "value": value } |
| Pola | |
|---|---|
key |
|
value |
|
Wartość
| Zapis JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Pola | |
|---|---|
Pole zbiorcze kind. Rodzaj wartości. kind może mieć tylko jedną z tych wartości: |
|
nullValue |
Reprezentuje obiekt JSON |
numberValue |
Reprezentuje liczbę JSON. Nie może to być |
stringValue |
Reprezentuje ciąg JSON. |
boolValue |
Reprezentuje wartość logiczną JSON (literał |
structValue |
Reprezentuje obiekt JSON. |
listValue |
Reprezentuje tablicę JSON. |
ListValue
| Zapis JSON |
|---|
{ "values": [ value ] } |
| Pola | |
|---|---|
values[] |
Pole powtarzane wartości wpisywanych dynamicznie. |
WriteControl
| Zapis JSON |
|---|
{ "requiredRevisionId": string } |
| Pola | |
|---|---|
Pole zbiorcze control. Określa wersję arkusza kalkulacyjnego, do której ma zostać zapisany, oraz sposób działania żądania, jeśli ta wersja nie jest bieżącą wersją arkusza kalkulacyjnego. control może mieć tylko jedną z tych wartości: |
|
requiredRevisionId |
Identyfikator wersji arkusza kalkulacyjnego, do którego zostanie zastosowane żądanie zapisu. Jeśli nie jest to najnowsza wersja dokumentu, żądanie nie zostanie przetworzone i zwróci błąd 400 (Nieprawidłowe żądanie). Gdy w odpowiedzi zwracany jest wymagany identyfikator wersji, wskazuje on identyfikator wersji arkusza kalkulacyjnego po zastosowaniu żądania. |
NullValue
Reprezentuje obiekt JSON null.
NullValue to wartownik, który używa typu wyliczeniowego z tylko jedną wartością do reprezentowania wartości null dla unii typu Value.
Pole typu NullValue z dowolną wartością inną niż 0 jest uznawane za nieprawidłowe. Większość serializatorów ProtoJSON będzie emitować Value z ustawionym null_value jako JSON null niezależnie od wartości liczby całkowitej, więc będzie to wartość 0.
| Wartości w polu enum | |
|---|---|
NULL_VALUE |
Wartość null. |
Schemat wyjściowy
UpdateContentResponse
| Zapis JSON |
|---|
{ "content": { object } } |
| Pola | |
|---|---|
content |
Odpowiedź |
Struct
| Zapis JSON |
|---|
{ "fields": { string: value, ... } } |
| Pola | |
|---|---|
fields |
Nieuporządkowana mapa wartości o typie dynamicznym. Obiekt zawierający listę par |
FieldsEntry
| Zapis JSON |
|---|
{ "key": string, "value": value } |
| Pola | |
|---|---|
key |
|
value |
|
Wartość
| Zapis JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Pola | |
|---|---|
Pole zbiorcze kind. Rodzaj wartości. kind może mieć tylko jedną z tych wartości: |
|
nullValue |
Reprezentuje obiekt JSON |
numberValue |
Reprezentuje liczbę JSON. Nie może to być |
stringValue |
Reprezentuje ciąg JSON. |
boolValue |
Reprezentuje wartość logiczną JSON (literał |
structValue |
Reprezentuje obiekt JSON. |
listValue |
Reprezentuje tablicę JSON. |
ListValue
| Zapis JSON |
|---|
{ "values": [ value ] } |
| Pola | |
|---|---|
values[] |
Pole powtarzane wartości wpisywanych dynamicznie. |
NullValue
Reprezentuje obiekt JSON null.
NullValue to wartownik, który używa typu wyliczeniowego z tylko jedną wartością do reprezentowania wartości null dla unii typu Value.
Pole typu NullValue z dowolną wartością inną niż 0 jest uznawane za nieprawidłowe. Większość serializatorów ProtoJSON będzie emitować Value z ustawionym null_value jako JSON null niezależnie od wartości liczby całkowitej, więc będzie to wartość 0.
| Wartości w polu enum | |
|---|---|
NULL_VALUE |
Wartość null. |
Adnotacje dotyczące narzędzi
Adnotacje narzędzi są wysyłane do klientów MCP, aby opisać podstawowe ryzyko związane z danym narzędziem. Większość klientów traktuje te wskazówki jako niezaufane, ale można ich użyć do określenia, kiedy wysłać użytkownikowi prośbę o potwierdzenie.
Oprócz ciągu tytułu zdefiniowane są te wskazówki logiczne:
readOnlyHint: jeśli ma wartość „true”, narzędzie nie modyfikuje swojego środowiska. Wartość domyślna: false.destructiveHint: jeśli ma wartość „true”, narzędzie może wykonywać działania destrukcyjne. Jeśli ma wartość false, narzędzie może wykonywać tylko działania dodawania. Wartość domyślna: true.idempotentHint: jeśli ma wartość „true”, wielokrotne wywoływanie narzędzia z tymi samymi argumentami nie będzie miało dodatkowego wpływu na jego środowisko. Wartość domyślna: false.openWorldHint: jeśli ma wartość true, narzędzie może wchodzić w interakcje z „otwartym światem” elementów zewnętrznych. Jeśli ma wartość false, narzędzie może wchodzić w interakcje tylko z elementami wewnętrznymi. Na przykład narzędzie do wyszukiwania w internecie jest narzędziem typu Otwarty świat, ale narzędzie do zapamiętywania już nie.
Wskazówka dotycząca destrukcyjności: ❌ | Wskazówka dotycząca idempotencji: ❌ | Wskazówka dotycząca tylko do odczytu: ❌ | Wskazówka dotycząca otwartego świata: ✅
Zakresy autoryzacji
Wymaga jednego z tych zakresów OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets