工具:update_doc
使用批量更新请求更新文档。它接受 documents.batchUpdate 请求(以 JSON 格式)。
对应于 REST API 中的 documents.batchUpdate。
可能的更新列表如下:
replaceAllText:替换指定文本的所有实例。架构:replaceText(字符串,必需):将替换匹配文本的文本。- 条件(必须满足其中一项):
containsText(对象):用于匹配文本的标准:text(字符串,必需):要在文档中搜索的文本。matchCase(布尔值,可选):搜索是否应区分大小写。searchByRegex(布尔值,可选):搜索文本是否被视为正则表达式。
tabsCriteria(对象,可选):用于指定在哪些标签页中进行替换的条件:tabIds(字符串数组,可选):执行请求的标签页 ID 列表。
insertText:在指定位置插入文本。架构:text(字符串,必需):要插入的文本。- 插播位置(必须指定一个):
location(对象):在特定索引处插入文本:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在页眉、页脚、脚注或文档正文的末尾插入文本:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
updateTextStyle:更新指定范围内的文字样式。架构:textStyle(对象,必需):要设置的文本样式:bold(布尔值,可选):文本是否以粗体呈现。italic(布尔值,可选):文本是否为斜体。underline(布尔值,可选):文本是否带有下划线。strikethrough(布尔值,可选):文本是否带有删除线。smallCaps(布尔值,可选):文本是否为小型大写字母。backgroundColor(对象,可选):文本背景颜色:{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}。foregroundColor(对象,可选):文字前景色:{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}。fontSize(对象,可选):字号:{"magnitude": number, "unit": "PT"}。weightedFontFamily(对象,可选):字体系列和粗细:{"fontFamily": string, "weight": integer}。baselineOffset(字符串,可选):纵向偏移量:"NONE"、"SUPERSCRIPT"或"SUBSCRIPT"。link(对象,可选):超链接目标:{"url": string}或{"tabId": string}。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"bold,foregroundColor"或"*")。- 插播位置(必须指定一个):
range(对象):要设置样式的文本范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。
createParagraphBullets:为段落创建项目符号。架构:range(对象,必需):要应用项目符号预设的范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。bulletPreset(字符串,必需):列表的项目符号字形预设样式:"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:从段落中删除项目符号。架构:range(对象,必需):要删除项目符号的范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。
createNamedRange:创建命名的范围。架构:name(字符串,必需):NamedRange 的名称(1 到 256 个字符)。range(对象,必需):要应用名称的范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。
deleteNamedRange:删除命名的范围。架构:- 命名的范围引用(必须提供一个):
namedRangeId(字符串):要删除的命名的范围的 ID。name(字符串):要删除的范围的名称。系统将删除所有具有此名称的已命名范围。tabsCriteria(对象,可选):用于指定范围删除操作所适用的标签页的条件:tabIds(字符串数组,可选):标签页 ID 列表。
updateParagraphStyle:更新指定范围内的段落样式。架构:paragraphStyle(对象,必需):要设置在段落上的样式:alignment(字符串,可选):文字对齐方式:"START"、"CENTER"、"END"、"JUSTIFIED"。lineSpacing(数字,可选):行间距百分比(例如,100 表示 100%)。direction(字符串,可选):文字方向:"LEFT_TO_RIGHT"、"RIGHT_TO_LEFT"。spacingMode(字符串,可选):间距模式:"NEVER_COLLAPSE"、"COLLAPSE_LISTS"。spaceAbove(对象,可选):段落上方的空间:{"magnitude": number, "unit": "PT"}。spaceBelow(对象,可选):段落下方的空间:{"magnitude": number, "unit": "PT"}。borderBetween/borderTop/borderBottom/borderLeft/borderRight(对象,可选):{"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "padding": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}。indentFirstLine(对象,可选):首行缩进:{"magnitude": number, "unit": "PT"}。indentStart(对象,可选):开头缩进:{"magnitude": number, "unit": "PT"}。indentEnd(对象,可选):末尾缩进:{"magnitude": number, "unit": "PT"}。namedStyleType(字符串,可选):命名样式类型:"NORMAL_TEXT"、"TITLE"、"SUBTITLE"、"HEADING_1"、"HEADING_2"、"HEADING_3"、"HEADING_4"、"HEADING_5"、"HEADING_6"。keepWithNext(布尔值,可选):是否让段落与下段同页。keepLinesTogether(布尔值,可选):是否让所有行保持在同一页面上。avoidWidowAndOrphan(布尔值,可选):是否避免出现孤行。shading(对象,可选):段落背景阴影:{"backgroundColor": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}。pageBreakBefore(布尔值,可选):段落是否应始终从页面开头开始。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"alignment,namedStyleType"或"*")。- 插播位置(必须指定一个):
range(对象):要设置样式的段落的重叠范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。
deleteContentRange:从文档中删除内容。架构:range(对象,必需):要删除的内容范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。
insertInlineImage:在指定位置插入内嵌图片。架构:uri(字符串,必需):映像 URI。必须可公开访问,且长度不得超过 2 KB。objectSize(对象,可选):图片在文档中应显示的大小:{"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}。- 插播位置(必须指定一个):
location(对象):在特定位置插入图片:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在标题、页脚或文档正文末尾插入图片:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
insertTable:在指定位置插入表格。架构:rows(整数,必需):表中的行数。columns(整数,必需):表中的列数。- 插播位置(必须指定一个):
location(对象):在特定位置插入表格:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在标题、页脚或正文末尾插入表格:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
insertTableRow:将空行插入表中。架构:tableCellLocation(对象,必需):要插入行的参考表格单元格位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。
rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。insertBelow(布尔值,必需):是否在参考单元格下方插入新行(true表示在下方,false表示在上方)。
insertTableColumn:将空列插入表中。架构:tableCellLocation(对象,必需):要插入列的参考表格单元格位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。
rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。insertRight(布尔值,必需):是否在参考单元格的右侧插入新列(true表示右侧,false表示左侧)。
deleteTableRow:从表中删除一行。架构:tableCellLocation(对象,必需):要删除的行的参考表格单元格位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。
rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。
deleteTableColumn:从表中删除列。架构:tableCellLocation(对象,必需):要删除的列所对应的参考表格单元格位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。
rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。
insertPageBreak:在指定位置插入分页符。架构:- 插播位置(必须指定一个):
location(对象):在特定索引处插入分页符:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在文档正文末尾插入分页符:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
deletePositionedObject:从文档中删除已定位的对象。架构:objectId(字符串,必需):要删除的定位对象的 ID。tabId(字符串,可选):包含定位对象的标签页。
updateTableColumnProperties:更新表中的列的属性。架构:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。columnIndices(整数数组,可选):要更新的从 0 开始的列索引。如果省略,则更新所有列。tableColumnProperties(对象,必需):要更新的列属性:width(对象,可选):列宽:{"magnitude": number, "unit": "PT"}。widthType(字符串,可选):"EVENLY_DISTRIBUTED"、"FIXED_WIDTH"。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"width"或"*")。
updateTableCellStyle:更新表格单元格的样式。架构:- 单元格(必须提供一个):
tableRange(对象):要更新的表格单元格的子集:tableCellLocation(对象,必需):参考单元格位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。
rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。rowSpan(整数,必需):表格范围的行跨度。columnSpan(整数,必需):表格范围的列跨度。
tableStartLocation(对象):表格开始应用于表格中所有单元格的位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。
tableCellStyle(对象,必需):要设置的单元格样式:backgroundColor(对象,可选):{"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}。paddingTop/paddingBottom/paddingLeft/paddingRight(对象,可选):{"magnitude": number, "unit": "PT"}。contentAlignment(字符串,可选):"TOP"、"MIDDLE"、"BOTTOM"。borderTop/borderBottom/borderLeft/borderRight(对象,可选):{"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"backgroundColor,contentAlignment"或"*")。
updateTableRowStyle:更新表格中的行样式。架构:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。rowIndices(整数数组,可选):要更新的行索引(从零开始)。如果省略,则更新所有行。tableRowStyle(对象,必需):要设置的行样式:minRowHeight(对象,可选):最小行高:{"magnitude": number, "unit": "PT"}。preventOverflow(布尔值,可选):行是否不能跨页溢出。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"minRowHeight"或"*")。
replaceImage:替换文档中的图片。架构:imageObjectId(字符串,必需):要替换的现有图片的 ID。uri(字符串,必需):新映像的 URI。必须可公开访问。imageReplaceMethod(字符串,可选):"CENTER_CROP"。tabId(字符串,可选):包含要替换的图片的标签页。
updateDocumentStyle:更新文档的样式。架构:documentStyle(对象,必需):要设置的文档样式:background(对象,可选):{"color": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}。marginTop/marginBottom/marginLeft/marginRight(对象,可选):{"magnitude": number, "unit": "PT"}。pageSize(对象,可选):{"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}。useCustomHeaderFooterMargins(布尔值,可选):是否使用自定义页眉/页脚边距。marginHeader/marginFooter(对象,可选):{"magnitude": number, "unit": "PT"}。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"background,marginTop"或"*")。tabId(字符串,可选):包含要更新的文档样式的标签页。
mergeTableCells:合并表格中的单元格。架构:tableRange(对象,必需):指定要合并的单元格的表格范围:tableCellLocation(对象,必需):参考单元格的位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。
rowSpan(整数,必需):表格范围的行跨度。columnSpan(整数,必需):表格范围的列跨度。
unmergeTableCells:取消合并表格中的单元格。架构:tableRange(对象,必需):指定要取消合并哪些单元格的表格范围:tableCellLocation(对象,必需):参考单元格的位置:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。rowIndex(整数,必需):从零开始的行索引。columnIndex(整数,必需):从 0 开始的列索引。
rowSpan(整数,必需):表格范围的行跨度。columnSpan(整数,必需):表格范围的列跨度。
createHeader:创建标头。架构:type(字符串,必需):标头类型:"DEFAULT"、"FIRST_PAGE"。sectionBreakLocation(对象,可选):分节符的位置,该分节符标志着相应标题所属部分的开始。如果省略,则应用于文档样式:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含分节符的标签页。
createFooter:创建页脚。架构:type(字符串,必需):页脚类型:"DEFAULT"、"FIRST_PAGE"。sectionBreakLocation(对象,可选):相应页脚所属部分之前的分节符的位置。如果省略,则应用于文档样式:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含分节符的标签页。
createFootnote:创建脚注。架构:- 脚注引用位置(必须指定一个):
location(对象):在特定索引处插入脚注参考:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在文档正文末尾插入脚注参考:tabId(字符串,可选):位置所在的标签页。
replaceNamedRangeContent:替换命名的范围中的内容。架构:text(字符串,必需):用于替换内容的文本。- 命名的范围引用(必须提供一个):
namedRangeId(字符串):要替换的命名的范围的 ID。namedRangeName(字符串):要替换的命名的范围的名称。tabsCriteria(对象,可选):tabIds(字符串数组,可选):发生替换的标签页 ID 列表。
updateSectionStyle:更新指定范围的版块样式。架构:range(对象,必需):要设置样式的重叠部分范围:startIndex(整数,可选):范围的起始索引(从 0 开始)。endIndex(整数,可选):范围的结束索引(从零开始)。tabId(字符串,可选):包含相应范围的标签页。sectionStyle(对象,必需):版块样式属性:columnProperties(对象数组,可选):每个列(最多 3 列)的属性:paddingEnd(对象,可选):列末尾的内边距:{"magnitude": number, "unit": "PT"}。width(对象,可选):列宽:{"magnitude": number, "unit": "PT"}。
columnSeparatorStyle(字符串,可选):"NONE"、"BETWEEN_EACH_COLUMN"。contentDirection(字符串,可选):"LEFT_TO_RIGHT"、"RIGHT_TO_LEFT"。marginTop/marginBottom/marginLeft/marginRight/marginHeader/marginFooter(对象,可选):{"magnitude": number, "unit": "PT"}。sectionType(字符串,可选):"CONTINUOUS"、"NEXT_PAGE"。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"marginTop,sectionType"或"*")。
insertSectionBreak:在指定位置插入分节符。架构:sectionType(字符串,必需):版块类型:"CONTINUOUS"或"NEXT_PAGE"。- 插播位置(必须指定一个):
location(对象):在文档中的特定索引处插入分节符:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在文档正文末尾插入分节符:tabId(字符串,可选):位置所在的标签页。
deleteHeader:从文档中删除标题。架构:headerId(字符串,必需):要删除的标头的 ID。tabId(字符串,可选):包含要删除的标题的标签页。
deleteFooter:从文档中删除页脚。架构:footerId(字符串,必需):要删除的页脚的 ID。tabId(字符串,可选):包含要删除的页脚的标签页。
pinTableHeaderRows:更新表格中固定标题行的数量。架构:tableStartLocation(对象,必需):文档中表格的起始位置:index(整数,必需):以 UTF-16 代码单元为单位的表格起始位置(从零开始的索引)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,为空或省略。tabId(字符串,可选):包含相应表格的标签页。pinnedHeaderRowsCount(整数,必需):要固定的表格行数(0 表示取消固定所有行)。
addDocumentTab:添加文档标签页。架构:tabProperties(对象,可选):要添加的标签页的属性:tabId(字符串,可选):用户提供的标签页 ID。title(字符串,可选):标签页的标题。index(整数,可选):标签页将插入到的索引(从零开始)。parentTabId(字符串,可选):嵌套标签页的父标签页 ID。iconEmoji(字符串,可选):与标签页一起显示的表情符号图标。
deleteTab:删除文档标签页。架构:tabId(字符串,必需):要删除的标签页的 ID。
updateDocumentTabProperties:更新文档标签页的属性。架构:tabProperties(对象,必需):要更新的标签页属性:tabId(字符串,必需):要更新的标签页的 ID。title(字符串,可选):标签页的更新后标题。index(整数,可选):更新后的标签页索引(从零开始)。parentTabId(字符串,可选):更新后的父标签页 ID。iconEmoji(字符串,可选):与标签页一起显示的新表情符号图标。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"title,iconEmoji"或"*")。
insertPerson:插入人物提及。架构:personProperties(对象,必需):人员属性:email(字符串,必需):人员的电子邮件地址。name(字符串,可选):人员的姓名。- 插播位置(必须指定一个):
location(对象):在特定位置插入人员提及内容:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在页眉、页脚、脚注或文档正文末尾插入人员提及内容:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
updateNamedStyle:更新已命名的样式。架构:namedStyle(对象,必需):要更新的命名样式:namedStyleType(字符串,必需):命名样式类型:"NORMAL_TEXT"、"TITLE"、"SUBTITLE"、"HEADING_1"、"HEADING_2"、"HEADING_3"、"HEADING_4"、"HEADING_5"、"HEADING_6"。textStyle(对象,可选):相应命名样式的文本样式属性。paragraphStyle(对象,可选):相应命名样式的段落样式属性。fields(字符串,必需):要更新的字段的英文逗号分隔列表(例如"textStyle,paragraphStyle"或"*")。tabId(字符串,可选):要更新的标签页。
insertRichLink:插入富链接。架构:richLinkProperties(对象,必需):富链接属性:uri(字符串,必需):富链接的 URI。title(字符串,可选):富链接的标题。mimeType(字符串,可选):富链接的 MIME 类型。- 插播位置(必须指定一个):
location(对象):在特定位置插入富链接:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在标题、页脚、脚注或正文末尾插入富链接:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
insertDate:插入日期。架构:dateElementProperties(对象,必需):日期属性:timestamp(字符串,必需):世界协调时间 (UTC) 时间戳。timeZoneId(字符串,可选):时区(例如"America/New_York")。默认值为"etc/UTC"。locale(字符串,可选):语言区域代码(例如"en")。dateFormat(字符串,可选):"DATE_FORMAT_MONTH_DAY_ABBREVIATED"、"DATE_FORMAT_MONTH_DAY_FULL"、"DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED"、"DATE_FORMAT_ISO8601"。timeFormat(字符串,可选):"TIME_FORMAT_DISABLED"、"TIME_FORMAT_HOUR_MINUTE"、"TIME_FORMAT_HOUR_MINUTE_TIMEZONE"。- 插播位置(必须指定一个):
location(对象):在特定位置插入日期:index(整数,必需):从零开始的索引,以 UTF-16 代码单元为单位。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此字段为空。tabId(字符串,可选):位置所在的标签页。
endOfSegmentLocation(对象):在标题、页脚或正文末尾插入日期:segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):位置所在的标签页。
insertComment:在文档中插入注释。架构:content(字符串,必需):纯文本评论内容。assigneeEmailAddress(字符串,可选):评论分配对象的电子邮件地址。留空表示未分配的注释。- 锚定广告(必须提供且只能提供 1 项):
range(对象):用于锚定评论的文档范围:startIndex(整数,可选):相应范围的起始索引(从 0 开始)。endIndex(整数,可选):相应范围的结束索引(从零开始)。segmentId(字符串,可选):页眉、页脚或脚注的 ID。对于文档正文,此参数为空。tabId(字符串,可选):包含相应范围的标签页。
addCommentReply:向现有评论或建议线程添加回复。架构:- 会话 ID(必须提供一个):
commentId(字符串):评论串的 ID。suggestionId(字符串):建议线程的 ID。post(对象,必需):content(字符串,除非正在解决/重新打开问题,否则为必需):纯文本回复内容。commentAction(字符串,可选):评论线程的操作("NO_COMMENT_ACTION_CHANGE"、"RESOLVE"、"REOPEN")。assigneeEmail(字符串,可选):作为此帖子的一部分,新分配给相应线程的用户的电子邮件地址。
updateCommentPost:更新评论串或建议串中评论帖子的内容。架构:- 会话 ID(必须提供一个):
commentId(字符串):评论串的 ID。suggestionId(字符串):建议线程的 ID。postId(字符串,必需):要更新的评论帖子的 ID。content(字符串,必需):评论帖子的更新后内容。
deleteComment:删除评论串。架构:commentId(字符串,必需):要删除的评论串的 ID。
deleteCommentReply:从评论话题或建议话题中删除回复帖子。架构:- 会话 ID(必须提供一个):
commentId(字符串):评论串的 ID。suggestionId(字符串):建议线程的 ID。postId(字符串,必需):要删除的回复帖子的 ID。
acceptSuggestion:接受建议。架构:suggestionId(字符串,必需):要接受的建议的 ID。
rejectSuggestion:拒绝建议。架构:suggestionId(字符串,必需):要拒绝的建议的 ID。
deleteSuggestion:删除建议。架构:suggestionId(字符串,必需):要删除的建议的 ID。
以下代码示例展示了如何使用 curl 调用 update_doc MCP 工具。
| 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 }' |
输入架构
UpdateDocRequest
| JSON 表示法 |
|---|
{
"documentId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| 字段 | |
|---|---|
documentId |
必需。要更新的文档的 ID。这与云端硬盘工具中的 file_id 相同。 |
requests[] |
要应用于文档的更新列表。每个请求都应是一个有效的 documents.batchUpdate 请求对象,使用以下网址中记录的架构:https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/request。系统将按指定顺序应用请求。如果任何请求无效,则不会应用任何请求。 |
writeControl |
可选。提供对写入请求执行方式的控制。 |
结构体
| JSON 表示法 |
|---|
{ "fields": { string: value, ... } } |
| 字段 | |
|---|---|
fields |
无序的动态类型值映射。 包含一系列 |
FieldsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": value } |
| 字段 | |
|---|---|
key |
|
value |
|
值
| JSON 表示法 |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| 字段 | |
|---|---|
联合字段 kind。值的类型。kind 只能是下列其中一项: |
|
nullValue |
表示 JSON |
numberValue |
表示 JSON 数字。不得为 |
stringValue |
表示 JSON 字符串。 |
boolValue |
表示 JSON 布尔值(JSON 中的 |
structValue |
表示 JSON 对象。 |
listValue |
表示 JSON 数组。 |
ListValue
| JSON 表示法 |
|---|
{ "values": [ value ] } |
| 字段 | |
|---|---|
values[] |
动态类型值的重复字段。 |
WriteControl
| JSON 表示法 |
|---|
{
"writeMode": enum ( |
| 字段 | |
|---|---|
writeMode |
可选。请求的写入模式。 |
联合字段 control。确定要写入的文档的修订版本,以及如果该修订版本不是文档的当前修订版本,请求应如何运行。control 只能是下列其中一项: |
|
requiredRevisionId |
写入请求将应用于的文档的修订版本 ID。如果这不是文档的最新修订版本,系统将不会处理相应请求,并会返回 400 错误请求错误。 如果响应中返回了必需的修订版本 ID,则表示应用相应请求后文档的修订版本 ID。 |
targetRevisionId |
写入请求将应用于的文档的目标修订版本 ID。如果在检索目标修订版本 ID 后发生了协作者更改,则这些更改可能会产生与应用于目标修订版本 ID 不同的结果。 指定目标修订版本 ID 后,系统会根据目标修订版本 ID 应用写入请求,并将文档的修订版本 ID 递增 1。 如果您未指定目标修订版本 ID,则写入请求会应用于最新的修订版本 ID,并且相应文档的修订版本 ID 会递增 1。 如果响应中返回了目标修订版本 ID,则表示应用相应请求后文档的修订版本 ID。 |
NullValue
表示 JSON null。
NullValue 是一个标记,使用只有一个值的枚举来表示 Value 类型联合的 null 值。
如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此会往返于 0 值。
| 枚举 | |
|---|---|
NULL_VALUE |
Null 值。 |
WriteMode
写入请求的模式。
| 枚举 | |
|---|---|
WRITE_MODE_UNSPECIFIED |
默认写入模式。未指定写入模式的请求会被视为 EDIT。 |
EDIT |
更改会直接应用于文档。 |
SUGGEST |
更改以建议的形式显示。 |
输出架构
UpdateDocResponse
| JSON 表示法 |
|---|
{
"replies": [
{
object
}
],
"writeControl": {
object ( |
| 字段 | |
|---|---|
replies[] |
执行批量更新请求后得到的回复。包括错误、警告和原始 API 响应,以帮助模型进行调整。原始 API 响应使用以下文档中记录的架构:https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/response |
writeControl |
应用更新后的文档修订版本。在下一个 |
结构体
| JSON 表示法 |
|---|
{ "fields": { string: value, ... } } |
| 字段 | |
|---|---|
fields |
无序的动态类型值映射。 包含一系列 |
FieldsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": value } |
| 字段 | |
|---|---|
key |
|
value |
|
值
| JSON 表示法 |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| 字段 | |
|---|---|
联合字段 kind。值的类型。kind 只能是下列其中一项: |
|
nullValue |
表示 JSON |
numberValue |
表示 JSON 数字。不得为 |
stringValue |
表示 JSON 字符串。 |
boolValue |
表示 JSON 布尔值(JSON 中的 |
structValue |
表示 JSON 对象。 |
listValue |
表示 JSON 数组。 |
ListValue
| JSON 表示法 |
|---|
{ "values": [ value ] } |
| 字段 | |
|---|---|
values[] |
动态类型值的重复字段。 |
WriteControl
| JSON 表示法 |
|---|
{
"writeMode": enum ( |
| 字段 | |
|---|---|
writeMode |
可选。请求的写入模式。 |
联合字段 control。确定要写入的文档的修订版本,以及如果该修订版本不是文档的当前修订版本,请求应如何运行。control 只能是下列其中一项: |
|
requiredRevisionId |
写入请求将应用于的文档的修订版本 ID。如果这不是文档的最新修订版本,系统将不会处理相应请求,并会返回 400 错误请求错误。 如果响应中返回了必需的修订版本 ID,则表示应用相应请求后文档的修订版本 ID。 |
targetRevisionId |
写入请求将应用于的文档的目标修订版本 ID。如果在检索目标修订版本 ID 后发生了协作者更改,则这些更改可能会产生与应用于目标修订版本 ID 不同的结果。 指定目标修订版本 ID 后,系统会根据目标修订版本 ID 应用写入请求,并将文档的修订版本 ID 递增 1。 如果您未指定目标修订版本 ID,则写入请求会应用于最新的修订版本 ID,并且相应文档的修订版本 ID 会递增 1。 如果响应中返回了目标修订版本 ID,则表示应用相应请求后文档的修订版本 ID。 |
NullValue
表示 JSON null。
NullValue 是一个标记,使用只有一个值的枚举来表示 Value 类型联合的 null 值。
如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此会往返于 0 值。
| 枚举 | |
|---|---|
NULL_VALUE |
Null 值。 |
WriteMode
写入请求的模式。
| 枚举 | |
|---|---|
WRITE_MODE_UNSPECIFIED |
默认写入模式。未指定写入模式的请求会被视为 EDIT。 |
EDIT |
更改会直接应用于文档。 |
SUGGEST |
更改以建议的形式显示。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界,而内存工具不是开放世界。
破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:✅
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/documents