Ferramenta: update_spreadsheet
Aplica uma ou mais atualizações à planilha.
Corresponde a "spreadsheets.batchUpdate" na API REST: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
A lista de atualizações possíveis é:
updateSpreadsheetProperties: atualiza as propriedades da planilha. Esquema:properties(objeto, obrigatório): propriedades da planilha a serem atualizadas ({"title": string, "locale": string, "timeZone": string}).fields(string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo,"title"ou"*").updateSheetProperties: atualiza as propriedades de uma planilha. Esquema:properties(objeto, obrigatório): propriedades da planilha ({"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(string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo,"title","gridProperties.frozenRowCount").updateDimensionProperties: atualiza as propriedades das dimensões (por exemplo, altura da linha ou largura da coluna). Esquema:range(objeto, obrigatório): período da dimensão ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).properties(objeto, obrigatório): propriedades de dimensão ({"pixelSize": int, "hiddenByUser": bool}).fields(string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo,"pixelSize").updateNamedRange: atualiza um intervalo nomeado. Esquema:namedRange(objeto, obrigatório): definição de intervalo nomeado ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).fields(string, obrigatório): máscara de campo dos campos a serem atualizados (por exemplo,"name,range"ou"*").repeatCell: repete uma única célula em um intervalo. Esquema:range(objeto, obrigatório): intervalo da grade para aplicar dados/formatação de célula ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).cell(objeto, obrigatório): dados móveis ({"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(string, obrigatório): máscara de campo dos campos de célula a serem atualizados (por exemplo,"userEnteredFormat.textFormat.bold"ou"userEnteredValue").addNamedRange: adiciona um intervalo nomeado. Esquema:namedRange(objeto, obrigatório): intervalo nomeado a ser adicionado ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).deleteNamedRange: exclui um intervalo nomeado pelo ID. Esquema:namedRangeId(string, obrigatório): ID do intervalo nomeado a ser excluído.addSheet: adiciona uma página. Esquema:properties(objeto, opcional): propriedades da planilha ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}}).deleteSheet: exclui uma página. Esquema:sheetId(número inteiro, obrigatório): ID da planilha a ser excluída.autoFill: preenche automaticamente mais dados com base nos dados atuais. Esquema:range(objeto, opcional): intervalo a ser examinado e preenchido ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).sourceAndDestination(objeto, opcional): origem explícita e duração do preenchimento ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int}).useAlternateSeries(booleano, opcional): indica se as séries alternativas devem ser usadas.cutPaste: corta dados de uma área e os cola em outra. Esquema:source(objeto, obrigatório): intervalo da grade de origem.destination(objeto, obrigatório): coordenada de destino no canto superior esquerdo ({"sheetId": int, "rowIndex": int, "columnIndex": int}).pasteType(string, opcional):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".copyPaste: copia dados de uma área e os cola em outra. Esquema:source(objeto, obrigatório): intervalo da grade de origem.destination(objeto, obrigatório): intervalo da grade de destino.pasteType(string, opcional):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".pasteOrientation(string, opcional):"NORMAL"ou"TRANSPOSE".mergeCells: mescla células. Esquema:range(objeto, obrigatório): intervalo da grade a ser mesclado.mergeType(string, obrigatório):"MERGE_ALL","MERGE_COLUMNS"ou"MERGE_ROWS".unmergeCells: desfaz a mesclagem de células. Esquema:range(objeto, obrigatório): intervalo da grade em que todas as células serão desmescladas.updateBorders: atualiza as bordas em um intervalo de células. Esquema:range(objeto, obrigatório): intervalo da grade para atualizar as bordas.top/bottom/left/right/innerHorizontal/innerVertical(objeto, opcional): estilo da borda ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).updateCells: atualiza várias células de uma só vez. Esquema:- Área (exatamente uma obrigatória):
start(objeto): coordenada superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).range(objeto): intervalo da grade.
rows(matriz de RowData, obrigatório): linhas de células ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}]).fields(string, obrigatório): máscara de campo dos campos de célula a serem atualizados (por exemplo,"userEnteredValue"ou"userEnteredFormat").addFilterView: adiciona uma visualização com filtro. Esquema:filter(objeto, obrigatório): definição da visualização com filtro ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list}).appendCells: anexa células após a última linha com dados em uma planilha. Esquema:sheetId(inteiro, obrigatório): ID da planilha a que os dados serão anexados.rows(matriz de RowData, obrigatório): linhas de dados a serem anexadas.fields(string, obrigatório): máscara de campo (por exemplo,"userEnteredValue").clearBasicFilter: limpa o filtro básico em uma planilha. Esquema:sheetId(número inteiro, obrigatório): ID da planilha em que o filtro básico será limpo.deleteDimension: exclui linhas ou colunas em uma planilha. Esquema:range(objeto, obrigatório): intervalo de dimensão a ser excluído ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteEmbeddedObject: exclui um objeto incorporado (por exemplo, gráfico, imagem) em uma planilha. Esquema:objectId(número inteiro, obrigatório): ID do objeto incorporado a ser excluído.deleteFilterView: exclui uma visualização com filtro de uma planilha. Esquema:filterId(inteiro, obrigatório): ID da visualização com filtro a ser excluída.duplicateFilterView: duplica uma visualização com filtro. Esquema:filterId(número inteiro, obrigatório): ID da visualização com filtro a ser duplicada.duplicateSheet: duplica uma planilha. Esquema:sourceSheetId(inteiro, obrigatório): ID da planilha a ser duplicada.insertSheetIndex(número inteiro, opcional): índice com base em zero em que a nova planilha será inserida.newSheetId(número inteiro, opcional): ID da nova planilha.newSheetName(string, opcional): nome da nova planilha.findReplace: encontra e substitui ocorrências de um texto por outro. Esquema:find(string, obrigatório): valor a ser pesquisado.replacement(string, obrigatório): valor de substituição.- Escopo (exatamente um obrigatório):
range(objeto): intervalo da grade.sheetId(número inteiro): ID da planilha.allSheets(booleano):truepara pesquisar todas as planilhas.
matchCase/matchEntireCell/searchByRegex/includeFormulas(booleano, opcional).insertDimension: insere novas linhas ou colunas em uma planilha. Esquema:range(objeto, obrigatório): intervalo de dimensão a ser inserido ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).inheritFromBefore(booleano, opcional):truepara herdar a formatação da linha/coluna anterior.insertRange: insere novas células em uma planilha, movendo as células atuais. Esquema:range(objeto, obrigatório): intervalo da grade em que as células serão inseridas.shiftDimension(string, obrigatório):"ROWS"ou"COLUMNS".moveDimension: move linhas ou colunas para outro local em uma planilha. Esquema:source(objeto, obrigatório): intervalo de dimensão de origem ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).destinationIndex(número inteiro, obrigatório): índice de destino baseado em zero.updateEmbeddedObjectPosition: atualiza a posição de um objeto incorporado (por exemplo, gráfico, imagem). Esquema:objectId(número inteiro, obrigatório): ID do objeto incorporado.newPosition(objeto, obrigatório): nova posição ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).fields(string, obrigatório): máscara de campo (por exemplo,"overlayPosition.anchorCell").pasteData: cola dados (HTML ou delimitados) em uma planilha. Esquema:coordinate(objeto, obrigatório): coordenada do canto superior esquerdo ({"sheetId": int, "rowIndex": int, "columnIndex": int}).data(string, obrigatório): texto delimitado ou dados HTML.delimiter(string, opcional) ouhtml(booleano, opcional).type(string, opcional):"PASTE_NORMAL","PASTE_VALUES"etc.textToColumns: converte uma coluna de texto em várias colunas de texto. Esquema:source(objeto, obrigatório): intervalo de grade de coluna única.delimiterType(string, obrigatório):"COMMA","SEMICOLON","PERIOD","SPACE","CUSTOM","AUTODETECT".delimiter(string, opcional): caractere delimitador quandodelimiterTypeé"CUSTOM".updateFilterView: atualiza as propriedades de uma visualização com filtro. Esquema:filter(objeto, obrigatório): definição da visualização com filtro, incluindofilterViewId.fields(string, obrigatório): máscara de campo (por exemplo,"title,criteria"ou"*").deleteRange: exclui um intervalo de células de uma página, movendo as células restantes. Esquema:range(objeto, obrigatório): intervalo da grade a ser excluído.shiftDimension(string, obrigatório):"ROWS"ou"COLUMNS".appendDimension: adiciona dimensões ao final de uma planilha. Esquema:sheetId(inteiro, obrigatório): ID da planilha.dimension(string, obrigatório):"ROWS"ou"COLUMNS".length(inteiro, obrigatório): número de linhas ou colunas a serem anexadas.addConditionalFormatRule: adiciona uma nova regra de formatação condicional. Esquema:rule(objeto, obrigatório): regra de formatação condicional ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}}).index(número inteiro, opcional): índice com base em zero em que a regra deve ser inserida.updateConditionalFormatRule: atualiza uma regra de formatação condicional. Esquema:rule(objeto, obrigatório): nova regra de formatação condicional.- Índice / ID da regra (um obrigatório):
index(número inteiro): índice da regra com base zero.sheetId(número inteiro): ID da planilha se a atualização for feita por índice.
newIndex(número inteiro, opcional): novo índice para mover a regra.deleteConditionalFormatRule: exclui uma regra de formatação condicional. Esquema:index(número inteiro, obrigatório): índice baseado em zero da regra a ser excluída.sheetId(inteiro, obrigatório): ID da planilha da regra.sortRange: classifica dados em um intervalo. Esquema:range(objeto, obrigatório): intervalo da grade a ser classificado.sortSpecs(matriz de SortSpec, obrigatório): especificações de classificação ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).setDataValidation: define a validação de dados para uma ou mais células. Esquema:range(objeto, obrigatório): intervalo da grade.rule(objeto, opcional): regra de validação ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}). Se omitida, limpa a validação.setBasicFilter: define o filtro básico em uma planilha. Esquema:filter(objeto, obrigatório): definição básica de filtro ({"range": GridRange, "criteria": map, "sortSpecs": list}).addProtectedRange: adiciona um intervalo protegido. Esquema:protectedRange(objeto, obrigatório): definição de intervalo protegido ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}}).updateProtectedRange: atualiza um intervalo protegido. Esquema:protectedRange(objeto, obrigatório): definição de intervalo protegido comprotectedRangeId.fields(string, obrigatório): máscara de campo (por exemplo,"description,warningOnly"ou"*").deleteProtectedRange: exclui um intervalo protegido. Esquema:protectedRangeId(número inteiro, obrigatório): ID do intervalo protegido a ser excluído.autoResizeDimensions: redimensiona automaticamente uma ou mais dimensões com base no conteúdo da célula. Esquema:dimensions(objeto, obrigatório): período da dimensão ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).addChart: adiciona um gráfico. Esquema:chart(objeto, obrigatório): definição do gráfico ({"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: atualiza as especificações de um gráfico. Esquema:chartId(número inteiro, obrigatório): ID do gráfico.spec(objeto, obrigatório): nova especificação de gráfico.updateBanding: atualiza um intervalo agrupado. Esquema:bandedRange(objeto, obrigatório): definição de intervalo agrupado combandedRangeId.fields(string, obrigatório): máscara de campo.addBanding: adiciona um novo intervalo agrupado. Esquema:bandedRange(objeto, obrigatório): definição de intervalo agrupado ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}}).deleteBanding: remove um intervalo agrupado. Esquema:bandedRangeId(número inteiro, obrigatório): ID do intervalo agrupado a ser excluído.createDeveloperMetadata: cria novos metadados do desenvolvedor. Esquema:developerMetadata(objeto, obrigatório): definição de metadados ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"}).updateDeveloperMetadata: atualiza uma entrada de metadados do desenvolvedor. Esquema:dataFilters(matriz de DataFilter, obrigatório): filtros para selecionar metadados.developerMetadata(objeto, obrigatório): valores de metadados atualizados.fields(string, obrigatório): máscara de campo.deleteDeveloperMetadata: exclui metadados do desenvolvedor. Esquema:dataFilter(objeto, obrigatório): filtro que descreve os critérios para exclusão de metadados.randomizeRange: randomiza a ordem das linhas em um intervalo. Esquema:range(objeto, obrigatório): intervalo da grade a ser aleatorizado.addDimensionGroup: cria um grupo no intervalo especificado. Esquema:range(objeto, obrigatório): intervalo de dimensão a ser agrupado ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteDimensionGroup: exclui um grupo no intervalo especificado. Esquema:range(objeto, obrigatório): intervalo de dimensão do grupo a ser excluído.updateDimensionGroup: atualiza o estado do grupo especificado. Esquema:dimensionGroup(objeto, obrigatório): definição de grupo ({"range": DimensionRange, "depth": int, "collapsed": bool}).fields(string, obrigatório): máscara de campo (por exemplo,"collapsed").trimWhitespace: remove espaços em branco (como espaços, tabulações ou novas linhas) das células. Esquema:range(objeto, obrigatório): intervalo da grade com as células a serem cortadas.deleteDuplicates: remove linhas que contêm valores duplicados nas colunas especificadas de um intervalo de células. Esquema:range(objeto, obrigatório): intervalo da grade de onde remover as duplicatas.comparisonColumns(matriz de DimensionRange, opcional): colunas específicas para análise.updateEmbeddedObjectBorder: atualiza a borda de um objeto incorporado. Esquema:objectId(inteiro, obrigatório): ID do objeto incorporado.border(objeto, obrigatório): definição de borda ({"colorStyle": ColorStyle, "section": "ALL"}).fields(string, obrigatório): máscara de campo.addSlicer: adiciona um segmentador. Esquema:slicer(objeto, obrigatório): definição de controle de filtros ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).updateSlicerSpec: atualiza as especificações de um segmentador. Esquema:slicerId(número inteiro, obrigatório): ID do controle de filtros.spec(objeto, obrigatório): nova especificação de controle de filtros.fields(string, obrigatório): máscara de campo.addDataSource: adiciona uma fonte de dados. Esquema:dataSource(objeto, obrigatório): definição da fonte de dados ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).updateDataSource: atualiza uma fonte de dados. Esquema:dataSource(objeto, obrigatório): definição da fonte de dados comdataSourceId.fields(string, obrigatório): máscara de campo.deleteDataSource: exclui uma fonte de dados. Esquema:dataSourceId(string, obrigatório): ID da fonte de dados a ser excluída.refreshDataSource: atualiza uma ou várias fontes de dados e dbobjects associados. Esquema:dataSourceId(string, opcional) ouisAll(booleano, opcional) oureferences(objeto, opcional).force(booleano, opcional): se a atualização deve ser forçada.cancelDataSourceRefresh: cancela atualizações de uma ou várias fontes de dados e dbobjects associados. Esquema:dataSourceId(string, opcional) ouisAll(booleano, opcional) oureferences(objeto, opcional).addTable: adiciona uma tabela. Esquema:table(objeto, obrigatório): definição da tabela ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).updateTable: atualiza uma tabela. Esquema:table(objeto, obrigatório): definição da tabela comtableId.fields(string, obrigatório): máscara de campo.deleteTable: uma solicitação para excluir uma tabela. Esquema:tableId(string, obrigatório): ID da tabela a ser excluída.insertComment: insere um comentário na planilha. Esquema:content(string, obrigatório): conteúdo do comentário de texto.coordinate(objeto, obrigatório): coordenada da grade na planilha para ancorar o comentário:sheetId(número inteiro, obrigatório): o ID da planilha.rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.
assigneeEmailAddress(string, opcional): endereço de e-mail do destinatário do comentário.addCommentReply: adiciona uma resposta a uma conversa de comentários. Também usado para resolver ou reabrir uma conversa. Esquema:commentId(string, obrigatório): ID da linha de execução de comentários.post(objeto, obrigatório):content(string, obrigatório, a menos que commentAction seja RESOLVE ou REOPEN): conteúdo de texto simples da postagem de resposta.commentAction(string, opcional): ação realizada com esta resposta ("RESOLVE"ou"REOPEN").assigneeEmail(string, opcional): endereço de e-mail para atribuir a conversa.
updateCommentPost: atualiza o conteúdo de uma postagem de comentário em uma conversa de comentários. Esquema:commentId(string, obrigatório): ID da linha de execução de comentários.postId(string, obrigatório): ID da postagem de comentário a ser atualizada.content(string, obrigatório): o conteúdo atualizado da postagem de comentário.deleteComment: exclui uma sequência de comentários. Esquema:commentId(string, obrigatório): ID da linha de execução de comentários a ser excluída.deleteCommentReply: exclui uma postagem de resposta. Esquema:commentId(string, obrigatório): ID da linha de execução de comentários.postId(string, obrigatório): ID da postagem de resposta a ser excluída.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP update_spreadsheet.
| Solicitação 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 }' |
Esquema de entrada
UpdateContentRequest
| Representação JSON |
|---|
{
"spreadsheetId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Campos | |
|---|---|
spreadsheetId |
Obrigatório. O ID da planilha a ser atualizada. |
requests[] |
Obrigatório. Uma lista de atualizações a serem aplicadas à planilha. Cada solicitação precisa ser um objeto spreadsheets.batchUpdate Request válido, usando o esquema documentado em: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. As solicitações serão aplicadas na ordem em que forem especificadas. Se alguma solicitação não for válida, nenhuma será aplicada. |
writeControl |
Opcional. Oferece controle sobre como as solicitações de gravação são executadas. |
Struct
| Representação JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Mapa não ordenado de valores digitados dinamicamente. Um objeto com uma lista de pares |
FieldsEntry
| Representação JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representação JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir: |
|
nullValue |
Representa um |
numberValue |
Representa um número JSON. Não pode ser |
stringValue |
Representa uma string JSON. |
boolValue |
Representa um booleano JSON (literal |
structValue |
Representa um objeto JSON. |
listValue |
Representa uma matriz JSON. |
ListValue
| Representação JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Campo repetido de valores digitados dinamicamente. |
WriteControl
| Representação JSON |
|---|
{ "requiredRevisionId": string } |
| Campos | |
|---|---|
Campo de união control. Determina a revisão da planilha em que gravar e como a solicitação deve se comportar se essa revisão não for a atual. control pode ser apenas de um dos tipos a seguir: |
|
requiredRevisionId |
O ID da revisão da planilha a que a solicitação de gravação será aplicada. Se não for a revisão mais recente do documento, a solicitação não será processada e vai retornar um erro 400 de solicitação inválida. Quando um ID de revisão obrigatório é retornado em uma resposta, ele indica o ID de revisão da planilha após a aplicação da solicitação. |
NullValue
Representa um null JSON.
NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.
Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.
| Tipos enumerados | |
|---|---|
NULL_VALUE |
Valor nulo. |
Esquema de saída
Representa um objeto JSON.
Um mapa de chave-valor não ordenado, com o objetivo de capturar perfeitamente a semântica de um objeto JSON. Isso permite analisar qualquer payload JSON arbitrário como um campo de mensagem no formato ProtoJSON.
Isso segue as diretrizes da RFC 8259 para JSON interoperável. Principalmente, esse tipo não pode representar valores Int64 grandes ou números NaN/Infinity, já que o formato JSON geralmente não aceita esses valores no tipo de número.
Se você não pretende analisar JSON arbitrário na sua mensagem, é melhor usar uma mensagem tipada personalizada em vez desse tipo.
Struct
| Representação JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Mapa não ordenado de valores digitados dinamicamente. Um objeto com uma lista de pares |
FieldsEntry
| Representação JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representação JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir: |
|
nullValue |
Representa um |
numberValue |
Representa um número JSON. Não pode ser |
stringValue |
Representa uma string JSON. |
boolValue |
Representa um booleano JSON (literal |
structValue |
Representa um objeto JSON. |
listValue |
Representa uma matriz JSON. |
ListValue
| Representação JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Campo repetido de valores digitados dinamicamente. |
NullValue
Representa um null JSON.
NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.
Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.
| Tipos enumerados | |
|---|---|
NULL_VALUE |
Valor nulo. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:
readOnlyHint: se for "true", a ferramenta não vai modificar o ambiente. (Padrão: falso).destructiveHint: se for "true", a ferramenta poderá realizar ações destrutivas. Se for "false", a ferramenta só poderá realizar ações de adição. Padrão: verdadeiro.idempotentHint: se for "true", chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente dela. (Padrão: falso).openWorldHint: se for "true", a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for "false", a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ✅
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets