Ferramenta: update_doc
Atualiza um documento usando solicitações de atualização em lote. Ela aceita uma solicitação documents.batchUpdate (como JSON).
Corresponde a documents.batchUpdate na API REST.
A lista de atualizações possíveis é:
replaceAllText: substitui todas as instâncias do texto especificado. Esquema:replaceText(string, obrigatório): o texto que vai substituir o texto correspondente.- Critérios (exatamente um obrigatório):
containsText(objeto): critérios para correspondência de texto:text(string, obrigatório): o texto a ser pesquisado no documento.matchCase(booleano, opcional): indica se a pesquisa diferencia maiúsculas de minúsculas.searchByRegex(booleano, opcional): indica se o texto de pesquisa é tratado como uma expressão regular.
tabsCriteria(objeto, opcional): critérios usados para especificar em quais guias a substituição ocorre:tabIds(matriz de strings, opcional): a lista de IDs das guias em que a solicitação é executada.
insertText: insere texto no local especificado. Esquema:text(string, obrigatório): o texto a ser inserido.- Local de inserção (exatamente um obrigatório):
location(objeto): insere texto em um índice específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere texto no final de um cabeçalho, rodapé, nota de rodapé ou corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
updateTextStyle: atualiza o estilo do texto no intervalo especificado. Esquema:textStyle(objeto, obrigatório): os estilos a serem definidos no texto:bold(booleano, opcional): indica se o texto é renderizado em negrito.italic(booleano, opcional): indica se o texto está em itálico.underline(booleano, opcional): indica se o texto está sublinhado.strikethrough(booleano, opcional): indica se o texto está tachado.smallCaps(booleano, opcional): indica se o texto está em letras maiúsculas pequenas.backgroundColor(objeto, opcional): cor do plano de fundo do texto:{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.foregroundColor(objeto, opcional): cor de primeiro plano do texto:{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.fontSize(objeto, opcional): tamanho da fonte:{"magnitude": number, "unit": "PT"}.weightedFontFamily(objeto, opcional): família e espessura da fonte:{"fontFamily": string, "weight": integer}.baselineOffset(string, opcional): deslocamento vertical:"NONE","SUPERSCRIPT"ou"SUBSCRIPT".link(objeto, opcional): destino do hiperlink:{"url": string}ou{"tabId": string}.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"bold,foregroundColor"ou"*").- Local de inserção (exatamente um obrigatório):
range(objeto): o intervalo de texto a ser estilizado:startIndex(número inteiro, opcional): índice inicial baseado em zero desse intervalo.endIndex(número inteiro, opcional): índice final com base zero deste intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.
createParagraphBullets: cria marcadores para parágrafos. Esquema:range(objeto, obrigatório): o intervalo a que a predefinição de marcador será aplicada:startIndex(número inteiro, opcional): índice inicial baseado em zero desse intervalo.endIndex(número inteiro, opcional): índice final com base zero deste intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.bulletPreset(string, obrigatório): padrão predefinido de glifos de marcadores para listas:"BULLET_DISC_CIRCLE_SQUARE","BULLET_DIAMONDX_ARROW3D_SQUARE","BULLET_CHECKBOX","BULLET_ARROW_DIAMOND_DISC","BULLET_STAR_CIRCLE_SQUARE","BULLET_ARROW3D_CIRCLE_SQUARE","BULLET_LEFTTRIANGLE_DIAMOND_DISC","BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE","BULLET_DIAMOND_CIRCLE_SQUARE","NUMBERED_DECIMAL_ALPHA_ROMAN","NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS","NUMBERED_DECIMAL_NESTED","NUMBERED_UPPERALPHA_ALPHA_ROMAN","NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL","NUMBERED_ZERODECIMAL_ALPHA_ROMAN".
deleteParagraphBullets: exclui marcadores de parágrafos. Esquema:range(objeto, obrigatório): o intervalo de exclusão dos marcadores:startIndex(número inteiro, opcional): índice inicial baseado em zero desse intervalo.endIndex(número inteiro, opcional): índice final com base zero deste intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.
createNamedRange: cria um intervalo nomeado. Esquema:name(string, obrigatório): o nome do NamedRange (de 1 a 256 caracteres).range(objeto, obrigatório): o intervalo a que o nome será aplicado:startIndex(número inteiro, opcional): índice inicial baseado em zero desse intervalo.endIndex(número inteiro, opcional): índice final com base zero deste intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.
deleteNamedRange: exclui um intervalo nomeado. Esquema:- Referência de intervalo nomeado (exatamente uma obrigatória):
namedRangeId(string): o ID do intervalo nomeado a ser excluído.name(string): o nome dos intervalos a serem excluídos. Todos os intervalos nomeados com esse nome serão excluídos.tabsCriteria(objeto, opcional): critérios usados para especificar a quais guias a exclusão de intervalo se aplica:tabIds(matriz de strings, opcional): a lista de IDs de guias.
updateParagraphStyle: atualiza o estilo de parágrafo no intervalo especificado. Esquema:paragraphStyle(objeto, obrigatório): os estilos a serem definidos nos parágrafos:alignment(string, opcional): alinhamento de texto:"START","CENTER","END","JUSTIFIED".lineSpacing(número, opcional): porcentagem de espaçamento entre linhas (por exemplo, 100 para 100%).direction(string, opcional): direção do texto:"LEFT_TO_RIGHT","RIGHT_TO_LEFT".spacingMode(string, opcional): modo de espaçamento:"NEVER_COLLAPSE","COLLAPSE_LISTS".spaceAbove(objeto, opcional): espaço acima do parágrafo:{"magnitude": number, "unit": "PT"}.spaceBelow(objeto, opcional): espaço abaixo do parágrafo:{"magnitude": number, "unit": "PT"}.borderBetween/borderTop/borderBottom/borderLeft/borderRight(objeto, opcional):{"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "padding": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}.indentFirstLine(objeto, opcional): recuo da primeira linha:{"magnitude": number, "unit": "PT"}.indentStart(objeto, opcional): recuo no início:{"magnitude": number, "unit": "PT"}.indentEnd(objeto, opcional): recuo no final:{"magnitude": number, "unit": "PT"}.namedStyleType(string, opcional): tipo de estilo nomeado:"NORMAL_TEXT","TITLE","SUBTITLE","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6".keepWithNext(booleano, opcional): indica se o parágrafo deve ser mantido na mesma página que o próximo.keepLinesTogether(booleano, opcional): indica se todas as linhas devem ser mantidas na mesma página.avoidWidowAndOrphan(booleano, opcional): indica se é necessário evitar linhas viúvas/órfãs.shading(objeto, opcional): sombreamento do plano de fundo do parágrafo:{"backgroundColor": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.pageBreakBefore(booleano, opcional): indica se o parágrafo deve sempre começar no início de uma página.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"alignment,namedStyleType"ou"*").- Local de inserção (exatamente um obrigatório):
range(objeto): o intervalo que se sobrepõe aos parágrafos a serem estilizados:startIndex(número inteiro, opcional): índice inicial baseado em zero desse intervalo.endIndex(número inteiro, opcional): índice final com base zero deste intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.
deleteContentRange: exclui conteúdo do documento. Esquema:range(objeto, obrigatório): o intervalo de conteúdo a ser excluído:startIndex(número inteiro, opcional): índice inicial baseado em zero desse intervalo.endIndex(número inteiro, opcional): índice final com base zero deste intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.
insertInlineImage: insere uma imagem inline no local especificado. Esquema:uri(string, obrigatório): o URI da imagem. Precisa ser acessível publicamente e ter no máximo 2 kB de comprimento.objectSize(objeto, opcional): a imagem de tamanho deve aparecer no documento:{"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}.- Local de inserção (exatamente um obrigatório):
location(objeto): insere uma imagem em um local específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere a imagem no final do cabeçalho, rodapé ou corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
insertTable: insere uma tabela no local especificado. Esquema:rows(número inteiro, obrigatório): número de linhas na tabela.columns(número inteiro, obrigatório): número de colunas na tabela.- Local de inserção (exatamente um obrigatório):
location(objeto): insere a tabela em um local específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere a tabela no final do cabeçalho, rodapé ou corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
insertTableRow: insere uma linha vazia em uma tabela. Esquema:tableCellLocation(objeto, obrigatório): local da célula de referência da tabela em que as linhas serão inseridas:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.
rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.insertBelow(booleano, obrigatório): indica se a nova linha será inserida abaixo da célula de referência (truepara abaixo,falsepara acima).
insertTableColumn: insere uma coluna vazia em uma tabela. Esquema:tableCellLocation(objeto, obrigatório): localização da célula da tabela de referência de onde as colunas serão inseridas:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.
rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.insertRight(booleano, obrigatório): indica se uma nova coluna será inserida à direita da célula de referência (truepara direita,falsepara esquerda).
deleteTableRow: exclui uma linha de uma tabela. Esquema:tableCellLocation(objeto, obrigatório): local da célula da tabela de referência de onde a linha será excluída:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.
rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.
deleteTableColumn: exclui uma coluna de uma tabela. Esquema:tableCellLocation(objeto, obrigatório): local da célula da tabela de referência de onde a coluna será excluída:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.
rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.
insertPageBreak: insere uma quebra de página no local especificado. Esquema:- Local de inserção (exatamente um obrigatório):
location(objeto): insere uma quebra de página em um índice específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere uma quebra de página no final do corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
deletePositionedObject: exclui um objeto posicionado do documento. Esquema:objectId(string, obrigatório): ID do objeto posicionado a ser excluído.tabId(string, opcional): guia que contém o objeto posicionado.
updateTableColumnProperties: atualiza as propriedades das colunas em uma tabela. Esquema:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.columnIndices(matriz de números inteiros, opcional): índices de coluna baseados em zero a serem atualizados. Se for omitido, todas as colunas serão atualizadas.tableColumnProperties(objeto, obrigatório): propriedades da coluna a serem atualizadas:width(objeto, opcional): largura da coluna:{"magnitude": number, "unit": "PT"}.widthType(string, opcional):"EVENLY_DISTRIBUTED","FIXED_WIDTH".fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"width"ou"*").
updateTableCellStyle: atualiza o estilo das células da tabela. Esquema:- Células (exatamente uma obrigatória):
tableRange(objeto): subconjunto de células da tabela a serem atualizadas:tableCellLocation(objeto, obrigatório): local da célula de referência:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.
rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.rowSpan(número inteiro, obrigatório): extensão da linha do intervalo da tabela.columnSpan(número inteiro, obrigatório): extensão da coluna do intervalo da tabela.
tableStartLocation(objeto): local onde a tabela começa a ser aplicada a todas as células dela:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.
tableCellStyle(objeto, obrigatório): estilo de célula a ser definido:backgroundColor(objeto, opcional):{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.paddingTop/paddingBottom/paddingLeft/paddingRight(objeto, opcional):{"magnitude": number, "unit": "PT"}.contentAlignment(string, opcional):"TOP","MIDDLE","BOTTOM".borderTop/borderBottom/borderLeft/borderRight(objeto, opcional):{"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"backgroundColor,contentAlignment"ou"*").
updateTableRowStyle: atualiza o estilo da linha em uma tabela. Esquema:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.rowIndices(matriz de números inteiros, opcional): índices de linha baseados em zero a serem atualizados. Se for omitido, todas as linhas serão atualizadas.tableRowStyle(objeto, obrigatório): estilo da linha a ser definido:minRowHeight(objeto, opcional): altura mínima da linha:{"magnitude": number, "unit": "PT"}.preventOverflow(booleano, opcional): indica se a linha não pode transbordar entre páginas.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"minRowHeight"ou"*").
replaceImage: substitui uma imagem no documento. Esquema:imageObjectId(string, obrigatório): ID da imagem atual a ser substituída.uri(string, obrigatório): URI da nova imagem. Precisa ser acessível publicamente.imageReplaceMethod(string, opcional):"CENTER_CROP".tabId(string, opcional): guia que contém a imagem a ser substituída.
updateDocumentStyle: atualiza o estilo do documento. Esquema:documentStyle(objeto, obrigatório): estilo de documento a ser definido:background(objeto, opcional):{"color": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.marginTop/marginBottom/marginLeft/marginRight(objeto, opcional):{"magnitude": number, "unit": "PT"}.pageSize(objeto, opcional):{"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}.useCustomHeaderFooterMargins(booleano, opcional): indica se as margens personalizadas de cabeçalho/rodapé serão usadas.marginHeader/marginFooter(objeto, opcional):{"magnitude": number, "unit": "PT"}.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"background,marginTop"ou"*").tabId(string, opcional): guia que contém o estilo do documento a ser atualizado.
mergeTableCells: mescla células em uma tabela. Esquema:tableRange(objeto, obrigatório): intervalo de tabela que especifica as células a serem mescladas:tableCellLocation(objeto, obrigatório): local da célula de referência:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.
rowSpan(número inteiro, obrigatório): extensão da linha do intervalo da tabela.columnSpan(número inteiro, obrigatório): extensão da coluna do intervalo da tabela.
unmergeTableCells: cancela a mesclagem de células em uma tabela. Esquema:tableRange(objeto, obrigatório): intervalo da tabela que especifica quais células serão separadas:tableCellLocation(objeto, obrigatório): local da célula de referência:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.
rowSpan(número inteiro, obrigatório): extensão da linha do intervalo da tabela.columnSpan(número inteiro, obrigatório): extensão da coluna do intervalo da tabela.
createHeader: cria um cabeçalho. Esquema:type(string, obrigatório): tipo de cabeçalho:"DEFAULT","FIRST_PAGE".sectionBreakLocation(objeto, opcional): local da quebra de seção que inicia a seção a que este cabeçalho pertence. Se omitido, será aplicado ao estilo do documento:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a quebra de seção.
createFooter: cria um rodapé. Esquema:type(string, obrigatório): tipo de rodapé:"DEFAULT","FIRST_PAGE".sectionBreakLocation(objeto, opcional): local da quebra de seção que precede a seção a que este rodapé pertence. Se omitido, será aplicado ao estilo do documento:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a quebra de seção.
createFootnote: cria uma nota de rodapé. Esquema:- Local da referência da nota de rodapé (exatamente uma obrigatória):
location(objeto): insere uma referência de nota de rodapé em um índice específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere uma referência de nota de rodapé no final do corpo do documento:tabId(string, opcional): a guia em que o local está.
replaceNamedRangeContent: substitui o conteúdo em um intervalo nomeado. Esquema:text(string, obrigatório): texto para substituir o conteúdo.- Referência de intervalo nomeado (exatamente uma obrigatória):
namedRangeId(string): ID do intervalo nomeado a ser substituído.namedRangeName(string): nome dos intervalos nomeados a serem substituídos.tabsCriteria(objeto, opcional):tabIds(matriz de strings, opcional): a lista de IDs das guias em que a substituição ocorre.
updateSectionStyle: atualiza o estilo da seção do intervalo especificado. Esquema:range(objeto, obrigatório): intervalo que sobrepõe seções para estilizar:startIndex(número inteiro, opcional): índice inicial do intervalo com base zero.endIndex(número inteiro, opcional): índice final do intervalo baseado em zero.tabId(string, opcional): guia que contém esse intervalo.sectionStyle(objeto, obrigatório): propriedades de estilo da seção:columnProperties(matriz de objetos, opcional): propriedades de cada coluna (até três colunas):paddingEnd(objeto, opcional): padding no final da coluna:{"magnitude": number, "unit": "PT"}.width(objeto, opcional): largura da coluna:{"magnitude": number, "unit": "PT"}.
columnSeparatorStyle(string, opcional):"NONE","BETWEEN_EACH_COLUMN".contentDirection(string, opcional):"LEFT_TO_RIGHT","RIGHT_TO_LEFT".marginTop/marginBottom/marginLeft/marginRight/marginHeader/marginFooter(objeto, opcional):{"magnitude": number, "unit": "PT"}.sectionType(string, opcional):"CONTINUOUS","NEXT_PAGE".fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"marginTop,sectionType"ou"*").
insertSectionBreak: insere uma quebra de seção no local especificado. Esquema:sectionType(string, obrigatório): tipo de seção:"CONTINUOUS"ou"NEXT_PAGE".- Local de inserção (exatamente um obrigatório):
location(objeto): insere uma quebra de seção em um índice específico do documento:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere uma quebra de seção no final do corpo do documento:tabId(string, opcional): a guia em que o local está.
deleteHeader: exclui um cabeçalho do documento. Esquema:headerId(string, obrigatório): ID do cabeçalho a ser excluído.tabId(string, opcional): guia que contém o cabeçalho a ser excluído.
deleteFooter: exclui um rodapé do documento. Esquema:footerId(string, obrigatório): ID do rodapé a ser excluído.tabId(string, opcional): guia que contém o rodapé a ser excluído.
pinTableHeaderRows: atualiza o número de linhas de cabeçalho fixadas em uma tabela. Esquema:tableStartLocation(objeto, obrigatório): local onde a tabela começa no documento:index(inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.segmentId(string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.tabId(string, opcional): guia que contém a tabela.pinnedHeaderRowsCount(número inteiro, obrigatório): número de linhas da tabela a serem fixadas (0 desfixa todas as linhas).
addDocumentTab: adiciona uma guia no documento. Esquema:tabProperties(objeto, opcional): propriedades da guia a ser adicionada:tabId(string, opcional): ID da guia fornecido pelo usuário.title(string, opcional): título da guia.index(inteiro, opcional): índice baseado em zero em que a guia será inserida.parentTabId(string, opcional): ID da guia principal para guias aninhadas.iconEmoji(string, opcional): ícone de emoji exibido com a guia.
deleteTab: exclui uma guia no documento. Esquema:tabId(string, obrigatório): ID da guia a ser excluída.
updateDocumentTabProperties: atualiza as propriedades de uma guia no documento. Esquema:tabProperties(objeto, obrigatório): propriedades da guia a serem atualizadas:tabId(string, obrigatório): ID da guia a ser atualizada.title(string, opcional): título atualizado da guia.index(número inteiro, opcional): índice atualizado da guia com base em zero.parentTabId(string, opcional): ID da guia principal atualizada.iconEmoji(string, opcional): ícone de emoji atualizado mostrado com a guia.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"title,iconEmoji"ou"*").
insertPerson: insere uma menção a uma pessoa. Esquema:personProperties(objeto, obrigatório): propriedades da pessoa:email(string, obrigatório): endereço de e-mail da pessoa.name(string, opcional): nome da pessoa.- Local de inserção (exatamente um obrigatório):
location(objeto): insere uma menção a uma pessoa em um local específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere uma menção a uma pessoa no final do cabeçalho, rodapé, nota de rodapé ou corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
updateNamedStyle: atualiza um estilo nomeado. Esquema:namedStyle(objeto, obrigatório): estilo nomeado a ser atualizado:namedStyleType(string, obrigatório): tipo de estilo nomeado:"NORMAL_TEXT","TITLE","SUBTITLE","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6".textStyle(objeto, opcional): propriedades de estilo de texto para esse estilo nomeado.paragraphStyle(objeto, opcional): propriedades de estilo de parágrafo para esse estilo nomeado.fields(string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo,"textStyle,paragraphStyle"ou"*").tabId(string, opcional): guia a ser atualizada.
insertRichLink: insira um link avançado. Esquema:richLinkProperties(objeto, obrigatório): propriedades de link avançado:uri(string, obrigatório): URI do link avançado.title(string, opcional): título do link avançado.mimeType(string, opcional): tipo MIME do link avançado.- Local de inserção (exatamente um obrigatório):
location(objeto): insere um link avançado em um local específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere um link avançado no final do cabeçalho, rodapé, nota de rodapé ou corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
insertDate: insere uma data. Esquema:dateElementProperties(objeto, obrigatório): propriedades de data:timestamp(string, obrigatório): carimbo de data/hora UTC.timeZoneId(string, opcional): fuso horário (por exemplo,"America/New_York"). O padrão é"etc/UTC".locale(string, opcional): código de localidade (por exemplo,"en").dateFormat(string, opcional):"DATE_FORMAT_MONTH_DAY_ABBREVIATED","DATE_FORMAT_MONTH_DAY_FULL","DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED","DATE_FORMAT_ISO8601".timeFormat(string, opcional):"TIME_FORMAT_DISABLED","TIME_FORMAT_HOUR_MINUTE","TIME_FORMAT_HOUR_MINUTE_TIMEZONE".- Local de inserção (exatamente um obrigatório):
location(objeto): insere a data em um local específico:index(inteiro, obrigatório): índice de base zero em unidades de código UTF-16.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
endOfSegmentLocation(objeto): insere a data no final do cabeçalho, rodapé ou corpo do documento:segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia em que o local está.
insertComment: insere um comentário no documento. Esquema:content(string, obrigatório): conteúdo do comentário de texto.assigneeEmailAddress(string, opcional): o endereço de e-mail do destinatário do comentário. Deixe em branco para um comentário não atribuído.- Âncora (exatamente uma obrigatória):
range(objeto): o intervalo no documento para ancorar o comentário:startIndex(número inteiro, opcional): o índice inicial baseado em zero desse intervalo.endIndex(inteiro, opcional): o índice final com base zero desse intervalo.segmentId(string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.tabId(string, opcional): a guia que contém esse intervalo.
addCommentReply: adiciona uma resposta a um comentário ou conversa de sugestões. Esquema:- ID da conversa (exatamente um obrigatório):
commentId(string): ID da conversa de comentários.suggestionId(string): ID da conversa de sugestões.post(objeto, obrigatório):content(string, obrigatório, a menos que esteja resolvendo/reabrindo): conteúdo da resposta em texto simples.commentAction(string, opcional): ação para conversas de comentários ("NO_COMMENT_ACTION_CHANGE","RESOLVE","REOPEN").assigneeEmail(string, opcional): o e-mail do usuário que está sendo atribuído à conversa como parte desta postagem.
updateCommentPost: atualiza o conteúdo de uma postagem de comentário em uma conversa de comentários ou de sugestões. Esquema:- ID da conversa (exatamente um obrigatório):
commentId(string): ID da conversa de comentários.suggestionId(string): ID da conversa de sugestões.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 de uma conversa de comentários ou de sugestões. Esquema:- ID da conversa (exatamente um obrigatório):
commentId(string): ID da conversa de comentários.suggestionId(string): ID da conversa de sugestões.postId(string, obrigatório): ID da postagem de resposta a ser excluída.
acceptSuggestion: aceita uma sugestão. Esquema:suggestionId(string, obrigatório): ID da sugestão a ser aceita.
rejectSuggestion: rejeita uma sugestão. Esquema:suggestionId(string, obrigatório): ID da sugestão a ser rejeitada.
deleteSuggestion: exclui uma sugestão. Esquema:suggestionId(string, obrigatório): ID da sugestão a ser excluída.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP update_doc.
| Solicitação curl |
|---|
curl --location 'https://docsmcp.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_doc", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
UpdateDocRequest
| Representação JSON |
|---|
{
"documentId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Campos | |
|---|---|
documentId |
Obrigatório. O ID do documento a ser atualizado. É o mesmo que "file_id" das ferramentas do Drive. |
requests[] |
Uma lista de atualizações a serem aplicadas ao documento. Cada solicitação precisa ser um objeto "documents.batchUpdate" válido, usando o esquema documentado em: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/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 |
|---|
{
"writeMode": enum ( |
| Campos | |
|---|---|
writeMode |
Opcional. O modo de gravação da solicitação. |
Campo de união control. Determina a revisão do documento 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 do documento 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 do documento após a aplicação da solicitação. |
targetRevisionId |
O ID da revisão de destino do documento a que a solicitação de gravação será aplicada. Se as mudanças do colaborador ocorrerem depois que o ID da revisão de destino for recuperado, elas poderão produzir um resultado diferente do que se fossem aplicadas ao ID da revisão de destino. Quando um ID de revisão de destino é especificado, a solicitação de gravação é aplicada com base no ID de revisão de destino, e o ID de revisão do documento é incrementado em 1. Se você não especificar um ID de revisão de destino, a solicitação de gravação será aplicada ao ID de revisão mais recente, e o ID de revisão do documento será incrementado em 1. Quando um ID de revisão de destino é retornado em uma resposta, ele indica o ID de revisão do documento 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. |
WriteMode
O modo para solicitações de gravação.
| Tipos enumerados | |
|---|---|
WRITE_MODE_UNSPECIFIED |
O modo de gravação padrão. Uma solicitação sem um modo de gravação especificado é tratada como EDIT. |
EDIT |
As mudanças são aplicadas diretamente ao documento. |
SUGGEST |
As mudanças são feitas como sugestões. |
Esquema de saída
UpdateDocResponse
| Representação JSON |
|---|
{
"replies": [
{
object
}
],
"writeControl": {
object ( |
| Campos | |
|---|---|
replies[] |
As respostas da execução das solicitações de atualização em lote. Inclui erros, avisos e respostas brutas da API para ajudar o modelo a fazer ajustes. As respostas brutas da API usam o esquema documentado em: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/response |
writeControl |
A revisão do documento após a aplicação das atualizações. Transmita |
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 |
|---|
{
"writeMode": enum ( |
| Campos | |
|---|---|
writeMode |
Opcional. O modo de gravação da solicitação. |
Campo de união control. Determina a revisão do documento 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 do documento 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 do documento após a aplicação da solicitação. |
targetRevisionId |
O ID da revisão de destino do documento a que a solicitação de gravação será aplicada. Se as mudanças do colaborador ocorrerem depois que o ID da revisão de destino for recuperado, elas poderão produzir um resultado diferente do que se fossem aplicadas ao ID da revisão de destino. Quando um ID de revisão de destino é especificado, a solicitação de gravação é aplicada com base no ID de revisão de destino, e o ID de revisão do documento é incrementado em 1. Se você não especificar um ID de revisão de destino, a solicitação de gravação será aplicada ao ID de revisão mais recente, e o ID de revisão do documento será incrementado em 1. Quando um ID de revisão de destino é retornado em uma resposta, ele indica o ID de revisão do documento 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. |
WriteMode
O modo para solicitações de gravação.
| Tipos enumerados | |
|---|---|
WRITE_MODE_UNSPECIFIED |
O modo de gravação padrão. Uma solicitação sem um modo de gravação especificado é tratada como EDIT. |
EDIT |
As mudanças são aplicadas diretamente ao documento. |
SUGGEST |
As mudanças são feitas como sugestões. |
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/documents