Herramienta: update_doc
Actualiza un documento con solicitudes de actualización por lotes. Acepta una solicitud documents.batchUpdate (como JSON).
Corresponde a documents.batchUpdate en la API de REST.
La lista de actualizaciones posibles es la siguiente:
replaceAllText: Reemplaza todas las instancias del texto especificado. Esquema:replaceText(cadena, obligatorio): Es el texto que reemplazará el texto coincidente.- Criterios (se requiere exactamente uno):
containsText(objeto): Criterios para la coincidencia de texto:text(cadena, obligatorio): Es el texto que se buscará en el documento.matchCase(booleano, opcional): Indica si la búsqueda debe distinguir mayúsculas de minúsculas.searchByRegex(booleano, opcional): Indica si el texto de búsqueda se trata como una expresión regular.
tabsCriteria(objeto, opcional): Son los criterios que se usan para especificar en qué pestañas se produce el reemplazo:tabIds(array de cadenas, opcional): Es la lista de IDs de las pestañas en las que se ejecuta la solicitud.
insertText: Inserta texto en la ubicación especificada. Esquema:text(cadena, obligatorio): Es el texto que se insertará.- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta texto en un índice específico:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta texto al final de un encabezado, pie de página, nota al pie o cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
updateTextStyle: Actualiza el estilo de texto en el rango especificado. Esquema:textStyle(objeto, obligatorio): Son los estilos que se establecerán en el texto:bold(booleano, opcional): Indica si el texto se renderiza en negrita.italic(booleano, opcional): Indica si el texto está en cursiva.underline(booleano, opcional): Indica si el texto está subrayado.strikethrough(booleano, opcional): Indica si el texto está tachado.smallCaps(booleano, opcional): Indica si el texto está en letras pequeñas capitalizadas.backgroundColor(objeto, opcional): Color de fondo del texto:{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.foregroundColor(objeto, opcional): Color de primer plano del texto:{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.fontSize(objeto, opcional): Tamaño de la fuente:{"magnitude": number, "unit": "PT"}.weightedFontFamily(objeto, opcional): Familia y grosor de la fuente:{"fontFamily": string, "weight": integer}.baselineOffset(cadena, opcional): Desplazamiento vertical:"NONE","SUPERSCRIPT"o"SUBSCRIPT".link(objeto, opcional): Destino del hipervínculo:{"url": string}o{"tabId": string}.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"bold,foregroundColor"o"*").- Ubicación de inserción (se requiere exactamente una):
range(objeto): Es el rango de texto al que se le aplicará el estilo:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.
createParagraphBullets: Crea viñetas para los párrafos. Esquema:range(objeto, obligatorio): Es el rango al que se aplicará el ajuste predeterminado de viñetas:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.bulletPreset(cadena, obligatorio): Es el patrón predeterminado de glifos de viñetas 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: Borra las viñetas de los párrafos. Esquema:range(objeto, obligatorio): Es el rango desde el que se borrarán las viñetas:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.
createNamedRange: Crea un rango con nombre. Esquema:name(cadena, obligatorio): Es el nombre del rango con nombre (de 1 a 256 caracteres).range(objeto, obligatorio): Es el rango al que se aplicará el nombre:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.
deleteNamedRange: Borra un rango con nombre. Esquema:- Referencia de rango con nombre (se requiere exactamente una):
namedRangeId(cadena): ID del rango con nombre que se borrará.name(cadena): Nombre de los rangos que se borrarán. Se borrarán todos los rangos con nombre que tengan este nombre.tabsCriteria(objeto, opcional): Son los criterios que se usan para especificar a qué pestañas se aplica el borrado del rango:tabIds(array de cadenas, opcional): Es la lista de IDs de pestañas.
updateParagraphStyle: Actualiza el estilo de párrafo en el rango especificado. Esquema:paragraphStyle(objeto, obligatorio): Son los estilos que se deben establecer en los párrafos:alignment(cadena, opcional): Alineación del texto:"START","CENTER","END","JUSTIFIED".lineSpacing(número, opcional): Porcentaje de interlineado (p.ej., 100 para 100%).direction(cadena, opcional): Dirección del texto:"LEFT_TO_RIGHT","RIGHT_TO_LEFT".spacingMode(cadena, opcional): Modo de espaciado:"NEVER_COLLAPSE","COLLAPSE_LISTS".spaceAbove(objeto, opcional): Espacio sobre el párrafo:{"magnitude": number, "unit": "PT"}.spaceBelow(objeto, opcional): Espacio debajo del párrafo:{"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): Sangría de la primera línea:{"magnitude": number, "unit": "PT"}.indentStart(objeto, opcional): Sangría al inicio:{"magnitude": number, "unit": "PT"}.indentEnd(objeto, opcional): Indent at end:{"magnitude": number, "unit": "PT"}.namedStyleType(cadena, opcional): Tipo de diseño con nombre:"NORMAL_TEXT","TITLE","SUBTITLE","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6".keepWithNext(booleano, opcional): Indica si se debe mantener el párrafo en la misma página que el siguiente.keepLinesTogether(booleano, opcional): Indica si se deben mantener todas las líneas en la misma página.avoidWidowAndOrphan(booleano, opcional): Indica si se deben evitar las líneas huérfanas o viudas.shading(objeto, opcional): Sombreado de fondo del párrafo:{"backgroundColor": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.pageBreakBefore(booleano, opcional): Indica si el párrafo siempre debe comenzar al principio de una página.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"alignment,namedStyleType"o"*").- Ubicación de inserción (se requiere exactamente una):
range(objeto): Es el rango que se superpone con los párrafos a los que se les aplicará un estilo:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.
deleteContentRange: Borra contenido del documento. Esquema:range(objeto, obligatorio): Es el rango de contenido que se borrará:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.
insertInlineImage: Inserta una imagen intercalada en la ubicación especificada. Esquema:uri(cadena, obligatorio): Es el URI de la imagen. Debe ser de acceso público y tener una longitud máxima de 2 kB.objectSize(objeto, opcional): La imagen de tamaño debe aparecer en el documento:{"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}.- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta una imagen en una ubicación específica:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta una imagen al final del encabezado, el pie de página o el cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
insertTable: Inserta una tabla en la ubicación especificada. Esquema:rows(número entero, obligatorio): Es la cantidad de filas de la tabla.columns(número entero, obligatorio): Es la cantidad de columnas de la tabla.- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta una tabla en una ubicación específica:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta la tabla al final del encabezado, el pie de página o el cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
insertTableRow: Inserta una fila vacía en una tabla. Esquema:tableCellLocation(objeto, obligatorio): Es la ubicación de la celda de la tabla de referencia desde la que se insertarán las filas:tableStartLocation(objeto, obligatorio): Es la ubicación donde comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.
rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.insertBelow(booleano, obligatorio): Indica si se debe insertar una fila nueva debajo de la celda de referencia (truepara debajo,falsepara arriba).
insertTableColumn: Inserta una columna vacía en una tabla. Esquema:tableCellLocation(objeto, obligatorio): Es la ubicación de la celda de la tabla de referencia desde la que se insertarán las columnas:tableStartLocation(objeto, obligatorio): Es la ubicación donde comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.
rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.insertRight(booleano, obligatorio): Indica si se debe insertar una columna nueva a la derecha de la celda de referencia (truepara la derecha,falsepara la izquierda).
deleteTableRow: Borra una fila de una tabla. Esquema:tableCellLocation(objeto, obligatorio): Ubicación de la celda de la tabla de referencia desde la que se borrará la fila:tableStartLocation(objeto, obligatorio): Es la ubicación donde comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.
rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.
deleteTableColumn: Borra una columna de una tabla. Esquema:tableCellLocation(objeto, obligatorio): Ubicación de la celda de la tabla de referencia desde la que se borrará la columna:tableStartLocation(objeto, obligatorio): Es la ubicación donde comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.
rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.
insertPageBreak: Inserta un salto de página en la ubicación especificada. Esquema:- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta un salto de página en un índice específico:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta un salto de página al final del cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
deletePositionedObject: Borra un objeto posicionado del documento. Esquema:objectId(cadena, obligatorio): ID del objeto posicionado que se borrará.tabId(cadena, opcional): Pestaña que contiene el objeto posicionado.
updateTableColumnProperties: Actualiza las propiedades de las columnas de una tabla. Esquema:tableStartLocation(objeto, obligatorio): Es la ubicación en la que comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.columnIndices(array de números enteros, opcional): Índices de columna basados en cero que se actualizarán. Si se omite, se actualizan todas las columnas.tableColumnProperties(objeto, obligatorio): Propiedades de la columna que se actualizarán:width(objeto, opcional): Ancho de la columna:{"magnitude": number, "unit": "PT"}.widthType(cadena, opcional):"EVENLY_DISTRIBUTED","FIXED_WIDTH".fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"width"o"*").
updateTableCellStyle: Actualiza el estilo de las celdas de la tabla. Esquema:- Celdas (se requiere exactamente una):
tableRange(objeto): Es un subconjunto de celdas de la tabla que se actualizarán:tableCellLocation(objeto, obligatorio): Ubicación de la celda de referencia:tableStartLocation(objeto, obligatorio): Es la ubicación donde comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.
rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.rowSpan(número entero, obligatorio): Es la expansión vertical del rango de la tabla.columnSpan(número entero, obligatorio): Es el tramo de columna del rango de la tabla.
tableStartLocation(objeto): Es la ubicación en la que la tabla comienza a aplicarse a todas las celdas de la tabla:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.
tableCellStyle(objeto, obligatorio): Es el estilo de celda que se establecerá:backgroundColor(objeto, opcional):{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.paddingTop/paddingBottom/paddingLeft/paddingRight(objeto, opcional):{"magnitude": number, "unit": "PT"}.contentAlignment(cadena, opcional):"TOP","MIDDLE","BOTTOM".borderTop/borderBottom/borderLeft/borderRight(objeto, opcional):{"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"backgroundColor,contentAlignment"o"*").
updateTableRowStyle: Actualiza el estilo de la fila en una tabla. Esquema:tableStartLocation(objeto, obligatorio): Es la ubicación en la que comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.rowIndices(array de números enteros, opcional): Índices de fila basados en cero que se actualizarán. Si se omite, se actualizan todas las filas.tableRowStyle(objeto, obligatorio): Es el estilo de fila que se debe establecer:minRowHeight(objeto, opcional): Altura mínima de la fila:{"magnitude": number, "unit": "PT"}.preventOverflow(booleano, opcional): Indica si la fila no puede desbordarse en las páginas.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"minRowHeight"o"*").
replaceImage: Reemplaza una imagen en el documento. Esquema:imageObjectId(cadena, obligatorio): Es el ID de la imagen existente que se reemplazará.uri(cadena, obligatorio): Es el URI de la imagen nueva. Debe ser de acceso público.imageReplaceMethod(cadena, opcional):"CENTER_CROP".tabId(cadena, opcional): Pestaña que contiene la imagen que se reemplazará.
updateDocumentStyle: Actualiza el estilo del documento. Esquema:documentStyle(objeto, obligatorio): Es el estilo del documento que se configurará: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 si se deben usar márgenes personalizados para el encabezado o el pie de página.marginHeader/marginFooter(objeto, opcional):{"magnitude": number, "unit": "PT"}.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"background,marginTop"o"*").tabId(cadena, opcional): Es la pestaña que contiene el estilo del documento que se actualizará.
mergeTableCells: Combina celdas en una tabla. Esquema:tableRange(objeto, obligatorio): Es el rango de la tabla que especifica qué celdas se deben combinar.tableCellLocation(objeto, obligatorio): Es la ubicación de la celda de referencia.tableStartLocation(objeto, obligatorio): Es la ubicación en la que comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.
rowSpan(número entero, obligatorio): Es la expansión vertical del rango de la tabla.columnSpan(número entero, obligatorio): Es la extensión de la columna del rango de la tabla.
unmergeTableCells: Separa celdas en una tabla. Esquema:tableRange(objeto, obligatorio): Es el rango de la tabla que especifica qué celdas se deben descombinar:tableCellLocation(objeto, obligatorio): Es la ubicación de la celda de referencia.tableStartLocation(objeto, obligatorio): Es la ubicación en la que comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.rowIndex(número entero, obligatorio): Índice de fila basado en cero.columnIndex(número entero, obligatorio): Índice de columna basado en cero.
rowSpan(número entero, obligatorio): Es la expansión vertical del rango de la tabla.columnSpan(número entero, obligatorio): Es el tramo de columna del rango de la tabla.
createHeader: Crea un encabezado. Esquema:type(cadena, obligatorio): Tipo de encabezado:"DEFAULT","FIRST_PAGE".sectionBreakLocation(objeto, opcional): Es la ubicación del salto de sección que inicia la sección a la que pertenece este encabezado. Si se omite, se aplica al estilo del documento:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene el salto de sección.
createFooter: Crea un pie de página. Esquema:type(cadena, obligatorio): Tipo de pie de página:"DEFAULT","FIRST_PAGE".sectionBreakLocation(objeto, opcional): Es la ubicación del salto de sección que precede a la sección a la que pertenece este pie de página. Si se omite, se aplica al estilo del documento:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene el salto de sección.
createFootnote: Crea una nota al pie. Esquema:- Ubicación de la referencia de la nota al pie (se requiere exactamente una):
location(objeto): Inserta una referencia de nota al pie en un índice específico:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta una referencia de nota al pie al final del cuerpo del documento:tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
replaceNamedRangeContent: Reemplaza el contenido de un rango con nombre. Esquema:text(cadena, obligatorio): Es el texto con el que se reemplazará el contenido.- Referencia de rango con nombre (se requiere exactamente una):
namedRangeId(cadena): ID del rango con nombre que se reemplazará.namedRangeName(cadena): Nombre de los rangos con nombre que se reemplazarán.tabsCriteria(objeto, opcional):tabIds(array de cadenas, opcional): Es la lista de IDs de pestañas en las que se produce el reemplazo.
updateSectionStyle: Actualiza el estilo de sección del rango especificado. Esquema:range(objeto, obligatorio): Secciones superpuestas del rango para aplicarles un diseño:startIndex(número entero, opcional): Es el índice de inicio del rango basado en cero.endIndex(número entero, opcional): Es el índice final del rango basado en cero.tabId(cadena, opcional): Pestaña que contiene este rango.sectionStyle(objeto, obligatorio): Propiedades de estilo de la sección:columnProperties(array de objetos, opcional): Propiedades de cada columna (hasta 3 columnas):paddingEnd(objeto, opcional): Es el padding al final de la columna:{"magnitude": number, "unit": "PT"}.width(objeto, opcional): Ancho de la columna:{"magnitude": number, "unit": "PT"}.
columnSeparatorStyle(cadena, opcional):"NONE","BETWEEN_EACH_COLUMN".contentDirection(cadena, opcional):"LEFT_TO_RIGHT","RIGHT_TO_LEFT".marginTop/marginBottom/marginLeft/marginRight/marginHeader/marginFooter(objeto, opcional):{"magnitude": number, "unit": "PT"}.sectionType(cadena, opcional):"CONTINUOUS","NEXT_PAGE".fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"marginTop,sectionType"o"*").
insertSectionBreak: Inserta un salto de sección en la ubicación especificada. Esquema:sectionType(cadena, obligatorio): Tipo de sección:"CONTINUOUS"o"NEXT_PAGE".- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta un salto de sección en un índice específico del documento:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta un salto de sección al final del cuerpo del documento:tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
deleteHeader: Borra un encabezado del documento. Esquema:headerId(cadena, obligatorio): ID del encabezado que se borrará.tabId(cadena, opcional): Pestaña que contiene el encabezado que se borrará.
deleteFooter: Borra un pie de página del documento. Esquema:footerId(cadena, obligatorio): Es el ID del pie de página que se borrará.tabId(cadena, opcional): Pestaña que contiene el pie de página que se borrará.
pinTableHeaderRows: Actualiza la cantidad de filas de encabezado fijadas en una tabla. Esquema:tableStartLocation(objeto, obligatorio): Es la ubicación en la que comienza la tabla en el documento:index(número entero, obligatorio): Índice basado en cero del inicio de la tabla en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Se omite o se deja vacío para el cuerpo del documento.tabId(cadena, opcional): Pestaña que contiene la tabla.pinnedHeaderRowsCount(número entero, obligatorio): Cantidad de filas de la tabla que se fijarán (0 para desfijar todas las filas).
addDocumentTab: Agrega una pestaña de documento. Esquema:tabProperties(objeto, opcional): Propiedades de la pestaña que se agregará:tabId(cadena, opcional): Es el ID de la pestaña proporcionado por el usuario.title(cadena, opcional): Es el título de la pestaña.index(número entero, opcional): Índice basado en cero en el que se insertará la pestaña.parentTabId(cadena, opcional): Es el ID de la pestaña principal para las pestañas anidadas.iconEmoji(cadena, opcional): Es el ícono de emoji que se muestra con la pestaña.
deleteTab: Borra una pestaña de documento. Esquema:tabId(cadena, obligatorio): ID de la pestaña que se borrará.
updateDocumentTabProperties: Actualiza las propiedades de una pestaña de documento. Esquema:tabProperties(objeto, obligatorio): Propiedades de la pestaña que se actualizarán:tabId(cadena, obligatorio): Es el ID de la pestaña que se actualizará.title(cadena, opcional): Es el título actualizado de la pestaña.index(número entero, opcional): Es el índice actualizado basado en cero de la pestaña.parentTabId(cadena, opcional): Es el ID de la pestaña principal actualizado.iconEmoji(cadena, opcional): Ícono de emoji actualizado que se muestra con la pestaña.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"title,iconEmoji"o"*").
insertPerson: Inserta una mención de persona. Esquema:personProperties(objeto, obligatorio): Propiedades de la persona:email(cadena, obligatorio): Dirección de correo electrónico de la persona.name(cadena, opcional): Nombre de la persona.- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta una mención de persona en una ubicación específica:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta una mención de persona al final del encabezado, el pie de página, la nota al pie o el cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
updateNamedStyle: Actualiza un estilo con nombre. Esquema:namedStyle(objeto, obligatorio): Es el nombre del diseño con nombre que se actualizará:namedStyleType(cadena, obligatorio): Es el tipo de diseño con nombre:"NORMAL_TEXT","TITLE","SUBTITLE","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6".textStyle(objeto, opcional): Son las propiedades de estilo de texto para este estilo con nombre.paragraphStyle(objeto, opcional): Son las propiedades de estilo de párrafo para este estilo con nombre.fields(cadena, obligatorio): Es una lista de campos separados por comas que se deben actualizar (p.ej.,"textStyle,paragraphStyle"o"*").tabId(cadena, opcional): Es la pestaña que se actualizará.
insertRichLink: Inserta un vínculo enriquecido. Esquema:richLinkProperties(objeto, obligatorio): Propiedades del vínculo enriquecido:uri(cadena, obligatorio): Es el URI del vínculo enriquecido.title(cadena, opcional): Es el título del vínculo enriquecido.mimeType(cadena, opcional): Es el tipo de MIME del vínculo enriquecido.- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta un vínculo enriquecido en una ubicación específica:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta un vínculo enriquecido al final del encabezado, el pie de página, la nota al pie o el cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
insertDate: Inserta una fecha. Esquema:dateElementProperties(objeto, obligatorio): Propiedades de fecha:timestamp(cadena, obligatorio): Es la marca de tiempo en UTC.timeZoneId(cadena, opcional): Zona horaria (p.ej.,"America/New_York"). El valor predeterminado es"etc/UTC".locale(cadena, opcional): Es el código de configuración regional (p.ej.,"en").dateFormat(cadena, opcional):"DATE_FORMAT_MONTH_DAY_ABBREVIATED","DATE_FORMAT_MONTH_DAY_FULL","DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED","DATE_FORMAT_ISO8601".timeFormat(cadena, opcional):"TIME_FORMAT_DISABLED","TIME_FORMAT_HOUR_MINUTE","TIME_FORMAT_HOUR_MINUTE_TIMEZONE".- Ubicación de inserción (se requiere exactamente una):
location(objeto): Inserta la fecha en una ubicación específica:index(número entero, obligatorio): Es el índice basado en cero en unidades de código UTF-16.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
endOfSegmentLocation(objeto): Inserta la fecha al final del encabezado, el pie de página o el cuerpo del documento:segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña en la que se encuentra la ubicación.
insertComment: Inserta un comentario en el documento. Esquema:content(cadena, obligatorio): Contenido del comentario de texto sin formato.assigneeEmailAddress(cadena, opcional): Es la dirección de correo electrónico del asignatario del comentario. Déjalo vacío si el comentario no está asignado.- Anclaje (se requiere exactamente uno):
range(objeto): Es el rango del documento al que se anclará el comentario:startIndex(número entero, opcional): Es el índice de inicio basado en cero de este rango.endIndex(número entero, opcional): Es el índice final basado en cero de este rango.segmentId(cadena, opcional): Es el ID del encabezado, el pie de página o la nota al pie. Está vacío para el cuerpo del documento.tabId(cadena, opcional): Es la pestaña que contiene este rango.
addCommentReply: Agrega una respuesta a un hilo de comentarios o sugerencias existente. Esquema:- ID de subproceso (se requiere exactamente uno):
commentId(cadena): ID del subproceso de comentarios.suggestionId(cadena): ID del subproceso de sugerencias.post(objeto, obligatorio):content(cadena, obligatoria, a menos que se resuelva o se vuelva a abrir): Es el contenido de la respuesta en texto sin formato.commentAction(cadena, opcional): Acción para los subprocesos de comentarios ("NO_COMMENT_ACTION_CHANGE","RESOLVE","REOPEN").assigneeEmail(cadena, opcional): Es el correo electrónico del usuario al que se le asigna el subproceso como parte de esta publicación.
updateCommentPost: Actualiza el contenido de una publicación de comentario en un hilo de comentarios o un hilo de sugerencias. Esquema:- ID de subproceso (se requiere exactamente uno):
commentId(cadena): ID del subproceso de comentarios.suggestionId(cadena): ID del subproceso de sugerencias.postId(cadena, obligatorio): Es el ID de la publicación de comentario que se actualizará.content(cadena, obligatorio): Es el contenido actualizado de la publicación de comentario.
deleteComment: Borra un hilo de comentarios. Esquema:commentId(cadena, obligatorio): Es el ID del subproceso de comentarios que se borrará.
deleteCommentReply: Borra una publicación de respuesta de un hilo de comentarios o de sugerencias. Esquema:- ID de subproceso (se requiere exactamente uno):
commentId(cadena): ID del subproceso de comentarios.suggestionId(cadena): ID del subproceso de sugerencias.postId(cadena, obligatorio): Es el ID de la publicación de respuesta que se borrará.
acceptSuggestion: Acepta una sugerencia. Esquema:suggestionId(cadena, obligatorio): Es el ID de la sugerencia que se aceptará.
rejectSuggestion: Rechaza una sugerencia. Esquema:suggestionId(cadena, obligatorio): Es el ID de la sugerencia que se rechazará.
deleteSuggestion: Borra una sugerencia. Esquema:suggestionId(cadena, obligatorio): ID de la sugerencia que se borrará.
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP update_doc.
| Solicitud de 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
| Representación JSON |
|---|
{
"documentId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Campos | |
|---|---|
documentId |
Obligatorio. ID del documento que se actualizará. Es el mismo que el file_id de las herramientas de Drive. |
requests[] |
Es una lista de actualizaciones que se aplicarán al documento. Cada solicitud debe ser un objeto Request válido de documents.batchUpdate, con el esquema documentado en: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/request. Las solicitudes se aplicarán en el orden en que se especifiquen. Si alguna solicitud no es válida, no se aplicará ninguna. |
writeControl |
Opcional. Proporciona control sobre cómo se ejecutan las solicitudes de escritura. |
Struct
| Representación JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representación JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes: |
|
nullValue |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Es un campo repetido de valores escritos de forma dinámica. |
WriteControl
| Representación JSON |
|---|
{
"writeMode": enum ( |
| Campos | |
|---|---|
writeMode |
Opcional. Es el modo de escritura de la solicitud. |
Campo de unión control. Determina la revisión del documento en la que se escribirá y cómo se debe comportar la solicitud si esa revisión no es la actual del documento. control puede ser solo uno de los parámetros siguientes: |
|
requiredRevisionId |
Es el ID de revisión del documento al que se aplicará la solicitud de escritura. Si no es la revisión más reciente del documento, no se procesará la solicitud y se devolverá un error 400 de solicitud incorrecta. Cuando se devuelve un ID de revisión obligatorio en una respuesta, se indica el ID de revisión del documento después de que se aplicó la solicitud. |
targetRevisionId |
Es el ID de revisión de destino del documento al que se aplicará la solicitud de escritura. Si se produjeron cambios de colaboradores después de recuperar el ID de revisión de destino, es posible que los cambios produzcan un resultado diferente al que se obtendría si se aplicaran al ID de revisión de destino. Cuando se especifica un ID de revisión de destino, la solicitud de escritura se aplica según el ID de revisión de destino y el ID de revisión del documento se incrementa en 1. Si no especificas un ID de revisión de destino, la solicitud de escritura se aplica al ID de revisión más reciente y el ID de revisión del documento se incrementa en 1. Cuando se devuelve un ID de revisión de destino en una respuesta, indica el ID de revisión del documento después de que se aplicó la solicitud. |
NullValue
Representa un null de JSON.
NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.
Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, y, por lo tanto, se realizará un viaje de ida y vuelta a un valor de 0.
| Enums | |
|---|---|
NULL_VALUE |
Valor nulo. |
WriteMode
Es el modo para las solicitudes de escritura.
| Enums | |
|---|---|
WRITE_MODE_UNSPECIFIED |
Es el modo de escritura predeterminado. Las solicitudes sin un modo de escritura especificado se tratan como EDIT. |
EDIT |
Los cambios se aplican directamente al documento. |
SUGGEST |
Los cambios se realizan como sugerencias. |
Esquema de salida
UpdateDocResponse
| Representación JSON |
|---|
{
"replies": [
{
object
}
],
"writeControl": {
object ( |
| Campos | |
|---|---|
replies[] |
Son las respuestas que se obtienen después de ejecutar las solicitudes de actualización por lotes. Incluye errores, advertencias y respuestas sin procesar de la API para ayudar al modelo a realizar ajustes. Las respuestas sin procesar de la API usan el esquema que se documenta en https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/response. |
writeControl |
Es la revisión del documento después de que se aplicaron las actualizaciones. Pasa |
Struct
| Representación JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representación JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes: |
|
nullValue |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Es un campo repetido de valores escritos de forma dinámica. |
WriteControl
| Representación JSON |
|---|
{
"writeMode": enum ( |
| Campos | |
|---|---|
writeMode |
Opcional. Es el modo de escritura de la solicitud. |
Campo de unión control. Determina la revisión del documento en la que se escribirá y cómo se debe comportar la solicitud si esa revisión no es la actual del documento. control puede ser solo uno de los parámetros siguientes: |
|
requiredRevisionId |
Es el ID de revisión del documento al que se aplicará la solicitud de escritura. Si no es la revisión más reciente del documento, no se procesará la solicitud y se devolverá un error 400 de solicitud incorrecta. Cuando se devuelve un ID de revisión obligatorio en una respuesta, se indica el ID de revisión del documento después de que se aplicó la solicitud. |
targetRevisionId |
Es el ID de revisión de destino del documento al que se aplicará la solicitud de escritura. Si se produjeron cambios de colaboradores después de recuperar el ID de revisión de destino, es posible que los cambios produzcan un resultado diferente al que se obtendría si se aplicaran al ID de revisión de destino. Cuando se especifica un ID de revisión de destino, la solicitud de escritura se aplica según el ID de revisión de destino y el ID de revisión del documento se incrementa en 1. Si no especificas un ID de revisión de destino, la solicitud de escritura se aplica al ID de revisión más reciente y el ID de revisión del documento se incrementa en 1. Cuando se devuelve un ID de revisión de destino en una respuesta, indica el ID de revisión del documento después de que se aplicó la solicitud. |
NullValue
Representa un null de JSON.
NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.
Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, y, por lo tanto, se realizará un viaje de ida y vuelta a un valor de 0.
| Enums | |
|---|---|
NULL_VALUE |
Valor nulo. |
WriteMode
Es el modo para las solicitudes de escritura.
| Enums | |
|---|---|
WRITE_MODE_UNSPECIFIED |
Es el modo de escritura predeterminado. Las solicitudes sin un modo de escritura especificado se tratan como EDIT. |
EDIT |
Los cambios se aplican directamente al documento. |
SUGGEST |
Los cambios se realizan como sugerencias. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, se definen las siguientes sugerencias booleanas:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta varias veces con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Pista destructiva: ❌ | Pista idempotente: ❌ | Pista de solo lectura: ❌ | Pista de mundo abierto: ✅
Alcances de la autorización
Se necesita uno de los siguientes alcances de OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/documents