Инструмент: update_presentation
Обновляет презентацию с помощью набора запросов batchUpdate.
Соответствует параметру presentations.batchUpdate в REST API.
Возможные обновления:
createSlide– создать новый слайд. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если указан, должен быть уникальным (5–50 символов, соответствующих шаблону [a-zA-Z0-9_-:]). Если не указан, идентификатор будет создан автоматически.insertionIndex(целое число, необязательно) – индекс с нулевой базой, указывающий, куда вставить слайд. Если не указано, вставляется в конце.slideLayoutReference(объект, необязательно): ссылка на макет слайда, который нужно вставить (если указано, требуется ровно один):predefinedLayout(строка) – название стандартной разметки (например, "BLANK", "TITLE_AND_BODY", "TITLE", "SECTION_HEADER", "SECTION_TITLE_AND_DESCRIPTION", "ONE_COLUMN_TEXT", "MAIN_POINT", "BIG_NUMBER", "TITLE_AND_TWO_COLUMNS").layoutId(строка): идентификатор макета из текущего основного файла.placeholderIdMappings(массив объектов, необязательно) – сопоставления плейсхолдеров из макета со слайдом. Каждый элемент:layoutPlaceholder(объект):{"type": string, "index": integer}.objectId(строка, обязательно): идентификатор объекта, заданный пользователем для элемента-заполнителя.
createShape– создать новую фигуру. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательный параметр) – идентификатор объекта страницы, на которой находится фигура.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}(единица измерения: "PT" или "EMU").transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.shapeType(строка, обязательный параметр) – тип фигуры (например, RECTANGLE, ROUND_RECTANGLE, ELLIPSE, TEXT_BOX, LINE и т. д.).
createTable– создать таблицу. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательный параметр) – идентификатор объекта страницы, на которой находится таблица.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.rows(целое число, обязательный параметр) – количество строк в таблице.columns(целое число, обязательно) – количество столбцов в таблице.
insertText– вставляет текст в фигуру или ячейку таблицы. Схема:objectId(строка, обязательный параметр): идентификатор объекта фигуры или таблицы.cellLocation(объект, необязательно) – ячейка таблицы, если вставка выполняется в таблицу:{"rowIndex": integer, "columnIndex": integer}.text(строка, обязательное поле): текст, который нужно вставить.insertionIndex(целое число, необязательно) – индекс символа, начиная с которого будет вставлен текст. Отсчет ведется от нуля. Значение по умолчанию – 0.
insertTableRows– вставляет строки в таблицу. Схема:tableObjectId(строка, обязательный параметр): идентификатор объекта таблицы.cellLocation(объект, обязательно): местоположение опорной ячейки:{"rowIndex": integer, "columnIndex": integer}.insertBelow(логическое значение, обязательно): нужно ли вставлять новые строки ниже ячейки, на которую указывает ссылка.number(целое число, обязательно) – количество строк, которые нужно вставить (максимум 20).
insertTableColumns– вставляет столбцы в таблицу. Схема:tableObjectId(строка, обязательный параметр): идентификатор объекта таблицы.cellLocation(объект, обязательно): местоположение опорной ячейки:{"rowIndex": integer, "columnIndex": integer}.insertRight(логическое значение, обязательно): нужно ли вставлять новые столбцы справа от ячейки, на которую указывает ссылка.number(целое число, обязательно): количество столбцов, которые нужно вставить (максимум 20).
deleteTableRow– удаляет строку из таблицы. Схема:tableObjectId(строка, обязательный параметр): идентификатор объекта таблицы.cellLocation(объект, обязательно): местоположение опорной ячейки:{"rowIndex": integer, "columnIndex": integer}. Удаляет строку, содержащую эту ячейку.
deleteTableColumn– удалить столбец из таблицы. Схема:tableObjectId(строка, обязательный параметр): идентификатор объекта таблицы.cellLocation(объект, обязательно): местоположение опорной ячейки:{"rowIndex": integer, "columnIndex": integer}. Удаляет столбец, содержащий эту ячейку.
replaceAllText– заменяет все экземпляры указанного текста. Схема:replaceText(строка, обязательный параметр) – текст для замены.containsText(объект, обязательное поле): критерии для сопоставления текста:text(строка, обязательный параметр): текст, который нужно найти.matchCase(логическое значение, необязательно): учитывается ли регистр при поиске.pageObjectIds(массив строк, необязательный параметр). Если указан, замена будет выполняться только для элементов на этих страницах.
deleteObject– удаляет страницу или элемент страницы из презентации. Схема:objectId(строка, обязательный параметр): идентификатор объекта страницы или элемента страницы, который нужно удалить.
updatePageElementTransform: изменяет преобразование элемента страницы. Схема:objectId(строка, обязательно): идентификатор объекта элемента страницы, который нужно обновить.transform(объект, обязательный параметр): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.applyMode(строка, обязательный параметр) – режим применения преобразования: "RELATIVE" (ОТНОСИТЕЛЬНЫЙ) или "ABSOLUTE" (АБСОЛЮТНЫЙ).
updateSlidesPosition: изменяет положение набора слайдов в презентации. Схема:slideObjectIds(массив строк, обязательный параметр) – идентификаторы объектов слайдов, которые нужно переместить.insertionIndex(целое число, обязательно): индекс с нулевой базой, куда будут вставлены слайды.
deleteText– удаляет текст из фигуры или ячейки таблицы. Схема:objectId(строка, обязательный параметр): идентификатор объекта фигуры или таблицы.cellLocation(объект, необязательно) – ячейка таблицы, если удаление выполняется из таблицы:{"rowIndex": integer, "columnIndex": integer}.textRange(объект, необязательно):{"startIndex": integer, "endIndex": integer, "type": string}. Если не указано, удаляется весь текст.
createImage– создает изображение. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.url(строка, обязательно): URL изображения, которое нужно получить и сохранить. Должен быть общедоступным.elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательный параметр). Идентификатор объекта страницы, на которой будет размещено изображение.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
createVideo– создание видео. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.source(строка, обязательный параметр) – источник видео: "YOUTUBE" или "DRIVE".id(строка, обязательно): идентификатор видео, например идентификатор видео на YouTube.elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательный параметр): идентификатор объекта страницы, на которой будет размещено видео.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
createSheetsChart– создает встроенную диаграмму Google Таблиц. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.spreadsheetId(строка, обязательно): идентификатор таблицы Google, содержащей диаграмму.chartId(целое число, обязательно): идентификатор определенной диаграммы в таблице.linkingMode(строка, обязательный параметр) – режим связи: "LINKED" или "NOT_LINKED_IMAGE".elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательный параметр) – идентификатор объекта страницы, на которой будет размещена диаграмма.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
createLine– создать линию. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательно): идентификатор объекта страницы, на которой будет размещена линия.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.category(строка, обязательный параметр) – категория линии: STRAIGHT (прямая), BENT (изогнутая) или CURVED (кривая).
refreshSheetsChart: обновляет диаграмму Google Таблиц. Схема:objectId(строка, обязательный параметр). Идентификатор объекта диаграммы, которую нужно обновить.
updateShapeProperties– обновляет свойства фигуры. Схема:objectId(строка, обязательный): идентификатор объекта фигуры, которую нужно обновить.shapeProperties(объект, обязательный параметр) – свойства фигуры, которые нужно обновить:shapeBackgroundFill(объект, необязательно):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.outline(объект, необязательно):{"outlineFill": {"solidFill": ...}, "weight": {"magnitude": number, "unit": string}, "dashStyle": string}.shadow(объект, необязательный параметр) – свойства тени.link(объект, необязательно): цель гиперссылки:{"url": string}.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"shapeBackgroundFill"или"*").
updateImageProperties– обновляет свойства изображения. Схема:objectId(строка, обязательный параметр) – идентификатор объекта изображения, которое нужно обновить.imageProperties(объект, обязательное поле) – свойства изображения, которые нужно обновить:cropProperties(объект, необязательно): смещения для обрезки:{"leftOffset": number, "rightOffset": number, "topOffset": number, "bottomOffset": number, "angle": number}.transparency(число, необязательно): уровень прозрачности (от 0,0 до 1,0).brightness(число, необязательно) – корректировка яркости (от -1,0 до 1,0).contrast(число, необязательно) – корректировка контрастности (от -1,0 до 1,0).recolor(объект, необязательно) – эффект изменения цвета.shadow(объект, необязательный параметр) – свойства тени.outline(объект, необязательный) – свойства контура.link(объект, необязательно): цель гиперссылки:{"url": string}.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"transparency,brightness"или"*").
updateVideoProperties: обновляет свойства видео. Схема:objectId(строка, обязательный параметр): идентификатор объекта видео, которое нужно обновить.videoProperties(объект, обязательно): свойства видео, которые нужно изменить.outline(объект, необязательный) – свойства контура.autoPlay(логическое значение, необязательный параметр) – нужно ли автоматически воспроизводить видео при показе.start(целое число, необязательно): время начала в секундах.end(целое число, необязательно): время окончания в секундах.mute(логическое значение, необязательно): отключен ли звук.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"autoPlay,mute"или"*").
updatePageProperties: обновляет свойства страницы. Схема:objectId(строка, обязательный параметр): идентификатор объекта страницы, которую нужно обновить.pageProperties(объект, обязательно) – свойства страницы, которые нужно обновить:pageBackgroundFill(объект, необязательно) –{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}или{"stretchedPictureFill": {"contentUrl": string}}.colorScheme(объект, необязательно): цветовая схема темы.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"pageBackgroundFill"или"*").
updateTableCellProperties: обновляет свойства ячейки таблицы. Схема:objectId(строка, обязательный параметр): идентификатор объекта таблицы.tableRange(объект, необязательно): подмножество ячеек таблицы, которые нужно обновить:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}. Если не указано, применяется ко всем ячейкам.tableCellProperties(объект, обязательное поле) – свойства ячейки, которые нужно обновить:tableCellBackgroundFill(объект, необязательно):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.contentAlignment(строка, необязательный параметр) – вертикальное выравнивание: "TOP" (вверху), "MIDDLE" (по центру), "BOTTOM" (внизу).fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"tableCellBackgroundFill"или"*").
updateLineProperties– обновляет свойства линии. Схема:objectId(строка, обязательный параметр): идентификатор объекта позиции, которую нужно обновить.lineProperties(объект, обязательный). Свойства маршрута, которые нужно обновить:lineFill(объект, необязательно):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.weight(объект, необязательно): толщина линии:{"magnitude": number, "unit": string}.dashStyle(строка, необязательный параметр) – стиль пунктирной линии: "SOLID", "DOT", "DASH", "DASH_DOT", "LONG_DASH", "LONG_DASH_DOT".startArrow(строка, необязательный параметр) – стиль стрелки в начале линии: "NONE", "STEALTH_ARROW", "FILL_ARROW", "FILL_CIRCLE", "FILL_SQUARE", "FILL_DIAMOND", "OPEN_ARROW", "OPEN_CIRCLE", "OPEN_SQUARE", "OPEN_DIAMOND".endArrow(строка, необязательно): стиль стрелки в конце линии (те же варианты, что и дляstartArrow).link(объект, необязательно): цель гиперссылки:{"url": string}.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"lineFill,weight"или"*").
createParagraphBullets– создает маркеры для абзацев. Схема:objectId(строка, обязательный параметр): идентификатор объекта фигуры или таблицы.cellLocation(объект, необязательно) – ячейка таблицы, если текст находится в таблице:{"rowIndex": integer, "columnIndex": integer}.textRange(объект, необязательно) – диапазон текста для маркировки:{"startIndex": integer, "endIndex": integer, "type": string}.bulletPreset(строка, необязательно) – предустановленный стиль маркера (например, "BULLET_DISC_CIRCLE_SQUARE", "BULLET_DIAMONDX_ARROW3D_SQUARE", "NUMBERED_DIGIT_ALPHA_ROMAN", "NUMBERED_DIGIT_NESTED"). Значение по умолчанию – BULLET_DISC_CIRCLE_SQUARE.
replaceAllShapesWithImage– заменяет все фигуры, соответствующие определенным критериям, изображением. Схема:imageUrl(строка, обязательно): URL изображения, которое нужно получить и вставить.imageReplaceMethod(строка, необязательный параметр). Метод замены: CENTER_INSIDE (по умолчанию) или CENTER_CROP.containsText(объект, обязательный параметр). Формы критериев должны совпадать:text(строка, обязательный параметр) – текст, который нужно найти в фигурах.matchCase(логическое значение, необязательно): учитывается ли регистр при поиске.pageObjectIds(массив строк, необязательный параметр). Если указан, замена будет выполняться только для элементов на этих страницах.
duplicateObject– дублирует слайд или элемент страницы. Схема:objectId(строка, обязательно): идентификатор объекта слайда или элемента, который нужно скопировать.objectIds(объект, необязательно) – сопоставление идентификаторов для дублированных элементов:{"originalObjectId": "newObjectId"}. Если не указано, назначаются случайные идентификаторы.
updateTextStyle– обновляет стиль текста в фигуре или таблице. Схема:objectId(строка, обязательный параметр): идентификатор объекта фигуры или таблицы.cellLocation(объект, необязательно) – ячейка таблицы, если текст находится в таблице:{"rowIndex": integer, "columnIndex": integer}.style(объект, обязательный). Свойства стиля текста:bold(логическое значение, необязательное поле): указывает, является ли текст полужирным.italic(логическое значение, необязательно): указывает, выделен ли текст курсивом.fontFamily(строка, необязательный параметр): семейство шрифтов (например, "Arial", "Roboto").fontSize(объект, необязательно) – размер шрифта:{"magnitude": number, "unit": string}.foregroundColor(объект, необязательно): цвет шрифта:{"opaqueColor": {"rgbColor": {"red": number, "green": number, "blue": number}}}.backgroundColor(объект, необязательно): цвет фона текста:{"opaqueColor": ...}.underline(логическое значение, необязательный параметр): указывает, подчеркнут ли текст.strikethrough(логическое значение, необязательно) – указывает, зачеркнут ли текст.smallCaps(логическое значение, необязательно): указывает, должен ли текст отображаться прописными буквами уменьшенного размера.baselineOffset(строка, необязательный параметр): "NONE", "SUPERSCRIPT" или "SUBSCRIPT".link(объект, необязательно): цель гиперссылки:{"url": string}.textRange(объект, необязательно) – диапазон текста, к которому нужно применить стиль:{"startIndex": integer, "endIndex": integer, "type": string}. Если не указано, применяется ко всему тексту.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"bold,foregroundColor"или"*").
replaceAllShapesWithSheetsChart: заменяет все фигуры, соответствующие определенным критериям, диаграммой Google Таблиц. Схема:spreadsheetId(строка, обязательно): идентификатор таблицы Google, содержащей диаграмму.chartId(целое число, обязательно): идентификатор определенной диаграммы в таблице.linkingMode(строка, обязательный параметр) – режим связи: "LINKED" или "NOT_LINKED_IMAGE".containsText(объект, обязательный параметр). Формы критериев должны совпадать:text(строка, обязательный параметр) – текст, который нужно найти в фигурах.matchCase(логическое значение, необязательно): учитывается ли регистр при поиске.pageObjectIds(массив строк, необязательный параметр). Если указан, замена будет выполняться только для элементов на этих страницах.
deleteParagraphBullets: удаляет маркеры из абзацев. Схема:objectId(строка, обязательно) – идентификатор объекта фигуры или таблицы, содержащей текст.cellLocation(объект, необязательно) – ячейка таблицы, если текст находится в таблице:{"rowIndex": integer, "columnIndex": integer}.textRange(объект, необязательно) – диапазон текста, из которого нужно удалить маркеры:{"startIndex": integer, "endIndex": integer, "type": string}.
updateParagraphStyle: обновляет стиль абзацев в фигуре или таблице. Схема:objectId(строка, обязательный параметр): идентификатор объекта фигуры или таблицы.cellLocation(объект, необязательно) – ячейка таблицы, если текст находится в таблице:{"rowIndex": integer, "columnIndex": integer}.style(объект, обязательный). Свойства стиля абзаца:alignment(строка, необязательный параметр) – выравнивание текста: "START", "CENTER", "END", "JUSTIFIED".lineSpacing(число, необязательно) – процент межстрочного интервала (например, 100 для 100%).spaceAbove(объект, необязательно) – расстояние над абзацем:{"magnitude": number, "unit": string}.spaceBelow(объект, необязательно) – расстояние под абзацем:{"magnitude": number, "unit": string}.indentFirstLine(объект, необязательно): отступ первой строки:{"magnitude": number, "unit": string}.indentStart(объект, необязательно) – отступ в начале:{"magnitude": number, "unit": string}.indentEnd(объект, необязательно): отступ в конце:{"magnitude": number, "unit": string}.direction(строка, необязательный параметр) – направление текста: "LEFT_TO_RIGHT" (слева направо) или "RIGHT_TO_LEFT" (справа налево).spacingMode(строка, необязательный параметр) – режим интервалов: "NEVER_COLLAPSE" или "COLLAPSE_LISTS".textRange(объект, необязательно) – диапазон текста, к которому нужно применить стиль:{"startIndex": integer, "endIndex": integer, "type": string}. Если не указано, применяется ко всему тексту.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"alignment,lineSpacing"или"*").
updateTableBorderProperties– обновляет свойства границ таблицы. Схема:objectId(строка, обязательный параметр): идентификатор объекта таблицы.tableRange(объект, необязательный параметр): подмножество границ таблицы, которые нужно обновить:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}. Если не указано, применяется ко всей таблице.borderPosition(строка, обязательный параметр) – положение границы: "ALL", "BOTTOM", "INNER", "INNER_HORIZONTAL", "INNER_VERTICAL", "LEFT", "OUTER", "RIGHT", "TOP".tableBorderProperties(объект, обязательный параметр) – свойства границ, которые нужно обновить:tableBorderFill(объект, необязательно):{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.weight(объект, необязательный параметр) – толщина границы:{"magnitude": number, "unit": string}.dashStyle(строка, необязательный параметр) – стиль пунктирной линии: "SOLID", "DOT", "DASH".fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"tableBorderFill,weight"или"*").
updateTableColumnProperties: обновляет свойства столбца таблицы. Схема:objectId(строка, обязательный параметр): идентификатор объекта таблицы.columnIndices(массив целых чисел, обязательный параметр) – индексы столбцов, которые нужно обновить. Индексация начинается с нуля.tableColumnProperties(объект, обязательный). Свойства столбца:columnWidth(объект, необязательно) – ширина столбца:{"magnitude": number, "unit": string}.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"columnWidth"или"*").
updateTableRowProperties– обновляет свойства строки таблицы. Схема:objectId(строка, обязательный параметр): идентификатор объекта таблицы.rowIndices(массив целых чисел, обязательно) – индексы строк, которые нужно обновить. Индексация начинается с нуля.tableRowProperties(объект, обязательный). Свойства строки:minRowHeight(объект, необязательно) – минимальная высота строки:{"magnitude": number, "unit": string}.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"minRowHeight"или"*").
mergeTableCells– объединяет ячейки в таблице. Схема:objectId(строка, обязательный параметр): идентификатор объекта таблицы.tableRange(объект, обязательно): диапазон ячеек для объединения:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}.
unmergeTableCells– отменяет объединение ячеек в таблице. Схема:objectId(строка, обязательный параметр): идентификатор объекта таблицы.tableRange(объект, обязательно) – диапазон ячеек, объединение которых нужно отменить:{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}.
groupObjects: группирует объекты, например элементы страницы. Схема:groupObjectId(строка, необязательно). Идентификатор объекта, заданный пользователем для группы. Если не указан, идентификатор будет сгенерирован.childrenObjectIds(массив строк, обязательно): идентификаторы объектов элементов, которые нужно сгруппировать (не менее двух, на одной странице, не сгруппированы).
ungroupObjects– разгруппировать объекты, например группы. Схема:objectIds(массив строк, обязательный параметр) – идентификаторы объектов групп, которые нужно разгруппировать.
updatePageElementAltText– обновляет заголовок и/или описание альтернативного текста элемента страницы. Схема:objectId(строка, обязательный): идентификатор объекта элемента страницы.title(string, optional): Updated alt text title.description(string, optional): обновленное описание альтернативного текста.
replaceImage– заменяет существующее изображение новым. Схема:imageObjectId(строка, обязательно): идентификатор объекта существующего изображения, которое нужно заменить.url(строка, обязательно): URL нового изображения.imageReplaceMethod(строка, необязательный параметр). Метод замены: CENTER_INSIDE (по умолчанию) или CENTER_CROP.
updateSlideProperties: обновляет свойства слайда. Схема:objectId(строка, обязательный параметр): идентификатор объекта слайда, который нужно обновить.slideProperties(объект, обязательный). Свойства слайда:isSkipped(логическое значение, необязательно): указывает, пропускается ли слайд в режиме презентации.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"isSkipped"или"*").
updatePageElementsZOrder– обновляет порядок наложения элементов страницы по оси Z. Схема:pageElementObjectIds(массив строк, обязательный параметр). Идентификаторы объектов элементов страницы, которые нужно обновить (должны находиться на одной странице, не сгруппированы).operation(строка, обязательный параметр) – операция с порядком наложения: "BRING_TO_FRONT", "BRING_FORWARD", "SEND_BACKWARD", "SEND_TO_BACK".
importSlides– импортирует одну или несколько указанных страниц слайдов из исходной презентации в целевую. Схема:sourcePresentationId(строка, обязательно): идентификатор исходной презентации.importIndex(целое число, необязательно): индекс, с которого нужно импортировать слайды (отсчитывается от нуля). Если не указано, импортируется в конце.sourceSlides(массив объектов, необязательно) – сопоставления идентификаторов слайдов:[{"sourceSlideObjectId": string, "destinationObjectIds": {"sourceObjectId": "destinationObjectId"}}]. Если не указать этот параметр, будут импортированы все слайды.preserveTheme(строка, необязательный параметр) – политика сохранения темы: "USE_SOURCE_THEME" или "USE_DESTINATION_THEME".
updateLineCategory– позволяет изменить категорию строки. Схема:objectId(строка, обязательный параметр): идентификатор объекта линии коннектора, которую нужно обновить.lineCategory(строка, обязательный параметр) – категория линии: STRAIGHT (прямая), BENT (изогнутая) или CURVED (кривая).
rerouteLine– перенаправляет линию так, чтобы она была подключена к двум ближайшим точкам подключения на связанных элементах страницы. Схема:objectId(строка, обязательный параметр). Идентификатор объекта линии коннектора, которую нужно перенаправить.
createAudio– создает аудио в этой презентации. Схема:objectId(строка, необязательный параметр): идентификатор объекта, предоставленный пользователем. Если не указан, идентификатор будет сгенерирован.source(строка, обязательный параметр) – источник аудио: "DRIVE".sourceAudioId(строка, обязательно): идентификатор аудиофайла на Google Диске.elementProperties(объект, обязательно): местоположение и размер элемента:pageObjectId(строка, обязательный параметр) – идентификатор объекта страницы, на которой будет размещен аудиоконтент.size(объект, необязательно):{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.transform(объект, необязательно): AffineTransform{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
updateAudioProperties– обновляет свойства аудио. Схема:objectId(строка, обязательный параметр): идентификатор объекта аудио, который нужно обновить.audioProperties(объект, обязательный). Свойства аудио:playbackVolume(целое число, необязательно) – громкость воспроизведения от 0 до 100.repeat(логическое значение, необязательно) – нужно ли повторять воспроизведение бесконечно во время презентации.showWhenPresenting(логическое значение, необязательный параметр) – нужно ли показывать аудиозапись во время презентации.playAcrossSlides(логическое значение, необязательно): будет ли аудио воспроизводиться на нескольких слайдах.fields(строка, обязательный параметр): список полей, которые нужно обновить, разделенных запятыми (например,"playbackVolume,repeat"или"*").
insertComment– вставляет комментарий в презентацию. Схема:content(строка, обязательное поле) – текст комментария.- Фиксированное объявление (требуется ровно одно):
shapeTextAnchor(объект) – для привязки к тексту внутри фигуры:shapeId(строка, обязательный параметр). Идентификатор объекта фигуры.textRange(объект, необязательно):{"startIndex": int, "endIndex": int}.
objectId(строка): чтобы привязать к странице или элементу.
addCommentReply– добавляет ответ на существующий комментарий. Схема:commentId(строка, обязательное поле): идентификатор цепочки комментариев.post(объект, обязательный атрибут):{"content": "reply text"}.
updateCommentPost– обновляет контент записи в цепочке комментариев. Схема:commentId(строка, обязательное поле): идентификатор цепочки комментариев.postId(строка, обязательный параметр): идентификатор записи с комментарием, которую нужно изменить.content(строка, обязательный параметр). Обновленный контент записи с комментарием.
deleteComment: удаляет цепочку комментариев. Схема:commentId(строка, обязательный параметр): идентификатор цепочки комментариев, которую нужно удалить.
deleteCommentReply– удаляет запись с ответом. Схема:commentId(строка, обязательное поле): идентификатор цепочки комментариев.postId(строка, обязательно): идентификатор записи, на которую нужно удалить ответ.
В приведенном ниже фрагменте кода показано, как использовать curl для вызова инструмента update_presentation MCP.
| Запрос curl |
|---|
curl --location 'https://slidesmcp.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_presentation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
Запрос на обновление презентации.
UpdatePresentationRequest
| JSON-представление |
|---|
{
"presentationId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Поля | |
|---|---|
presentationId |
Обязательно. Идентификатор презентации, которую нужно обновить. |
requests[] |
Обязательно. Список запросов batchUpdate, использующих схему и семантику, описанные на странице https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/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 (литерал |
structValue |
Представляет объект JSON. |
listValue |
Представляет собой массив JSON. |
ListValue
| JSON-представление |
|---|
{ "values": [ value ] } |
| Поля | |
|---|---|
values[] |
Повторяющееся поле со значениями динамического типа. |
WriteControl
| JSON-представление |
|---|
{ "requiredRevisionId": string } |
| Поля | |
|---|---|
requiredRevisionId |
Идентификатор версии презентации, необходимый для запроса на запись. Если он указан и не совпадает с текущим идентификатором версии презентации, запрос не обрабатывается и возвращается ошибка 400 (недопустимый запрос). |
NullValue
Представляет объект JSON null.
NullValue – это страж, использующий перечисление с одним значением для представления нулевого значения для объединения типов Value.
Поле типа NullValue с любым значением, кроме 0, считается недопустимым. Большинство сериализаторов ProtoJSON будут создавать Value с null_value, заданным как JSON null, независимо от целочисленного значения, и поэтому будут выполнять преобразование в значение 0.
| Перечисления | |
|---|---|
NULL_VALUE |
Нулевое значение. |
Схема вывода
Ответы UpdatePresentation.
UpdatePresentationResponse
| JSON-представление |
|---|
{ "replies": [ { object } ] } |
| Поля | |
|---|---|
replies[] |
Набор ответов batchUpdate, использующих схему и семантику, описанные на странице https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/response. |
Структура
| 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 (литерал |
structValue |
Представляет объект JSON. |
listValue |
Представляет собой массив JSON. |
ListValue
| JSON-представление |
|---|
{ "values": [ value ] } |
| Поля | |
|---|---|
values[] |
Повторяющееся поле со значениями динамического типа. |
NullValue
Представляет объект JSON null.
NullValue – это страж, использующий перечисление с одним значением для представления нулевого значения для объединения типов Value.
Поле типа NullValue с любым значением, кроме 0, считается недопустимым. Большинство сериализаторов ProtoJSON будут создавать Value с null_value, заданным как JSON null, независимо от целочисленного значения, и поэтому будут выполнять преобразование в значение 0.
| Перечисления | |
|---|---|
NULL_VALUE |
Нулевое значение. |
Аннотации инструментов
Аннотации инструментов отправляются клиентам 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/presentations