Введение

API Google Slides позволяет создавать и изменять презентации Google Slides.

Приложения могут интегрироваться с API Google Slides для автоматического создания красивых презентаций на основе данных, предоставленных пользователем и системой. Например, вы можете использовать данные о клиентах из базы данных и объединить их с предварительно разработанными шаблонами и выбранными параметрами конфигурации, чтобы создавать готовые презентации за гораздо меньшее время, чем потребовалось бы для их создания вручную.

Обзор API

Коллекция презентаций предоставляет методы, позволяющие получать и обновлять элементы внутри презентации.

В основном вы будете работать с API Slides, создавая и обновляя презентации. Для этого вы будете использовать метод batchUpdate ; этот метод принимает список объектов Request , которые позволяют выполнять такие действия, как:

  • Создать слайды
  • Добавляйте на слайды такие элементы, как фигуры или таблицы.
  • Вставка, изменение и удаление текста
  • Применить преобразования к элементам
  • Изменить порядок слайдов

Дополнительные сведения см. в разделе «Пакетные обновления» . Простой пример использования API от начала до конца см. в руководствах по началу работы.

Структура презентации

В Slides API презентация состоит из страниц, которые содержат элементы страницы.

Идентификатор презентации можно получить из URL-адреса:

https://docs.google.com/presentation/d/presentationId/edit

Идентификатор презентации представляет собой строку, содержащую буквы, цифры и некоторые специальные символы. Для извлечения идентификатора презентации из URL-адреса Google Sheets можно использовать следующее регулярное выражение:

/presentation/d/([a-zA-Z0-9-_]+)

Если вы знакомы с API Google Drive, то presentationId соответствует идентификатору ресурса File .

Страницы и элементы страниц идентифицируются по идентификаторам объектов.

Страницы

В Google Slides есть следующие типы страниц:

Мастера Мастер-слайды определяют стили текста по умолчанию, фон и элементы страницы, которые отображаются на всех слайдах, использующих этот мастер-слайд. Элементы страницы, которые должны отображаться на всех слайдах, следует добавить в мастер-слайд. В большинстве презентаций используется один мастер-слайд, но в некоторых может быть несколько или ни одного.
Макеты Макеты служат шаблоном для определения того, как элементы страницы будут располагаться по умолчанию на слайдах, использующих данный макет. Каждый макет связан с одним мастер-макетом.
Слайды На этих страницах размещен контент, который вы представляете своей аудитории. Большинство слайдов создаются на основе шаблона и макета. При создании каждого слайда вы можете указать, какой макет использовать.
Примечания На этих страницах содержится контент для раздаточных материалов презентации, включая фигуру, содержащую заметки докладчика к слайду. Каждому слайду соответствует отдельная страница с заметками. С помощью API слайдов можно изменять только текст в фигуре заметок докладчика.
Мастера заметок Мастера заметок определяют стили текста по умолчанию и элементы страницы для всех страниц заметок. В API Slides мастер-файлы заметок доступны только для чтения.

Элементы страницы

Элементы страницы — это визуальные компоненты, размещаемые на страницах. API предоставляет доступ к нескольким типам элементов страницы:

Группа Набор элементов страницы, рассматриваемых как единое целое. Их можно перемещать, масштабировать и вращать одновременно.
Форма Простые визуальные объекты, такие как прямоугольники, эллипсы и текстовые поля. Фигуры могут содержать текст, поэтому они являются наиболее распространенными элементами страниц для создания слайдов.
Изображение Графическое изображение, импортированное в Slides.
Видео Видео, импортированное в Slides.
Линия Визуальная линия, кривая или соединительный элемент.
Стол Сетка контента.
WordArt Визуальный текстовый элемент, который ведёт себя скорее как фигура.
Таблица Диаграмма, импортированная в Slides из Google Sheets.

Пакетные обновления

Метод batchUpdate позволяет обновлять множество аспектов презентации. Изменения группируются в пакет, так что если один запрос завершится неудачей, никакие другие (потенциально зависимые) изменения не будут записаны.

Метод batchUpdate принимает один или несколько объектов Request , каждый из которых определяет тип выполняемого запроса. Существует множество различных типов запросов. Вот разбивка типов запросов по различным категориям.

Работа со слайдами: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
Работа с элементами страницы: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
Работа с таблицами: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
Работа с диаграммами: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
Работа с изображениями и видео: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
Работа с текстом: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

Метод batchUpdate возвращает тело ответа , содержащее объект Response для каждого запроса. Каждый ответ занимает тот же индекс, что и соответствующий запрос; для запросов, для которых нет подходящего ответа, ответ по этому индексу будет пустым. Различные запросы Create обычно имеют ответы, так что вы знаете идентификатор вновь добавленного объекта.

Работа с идентификаторами объектов

В Slides API презентация состоит из страниц и элементов страницы . Эти объекты содержат уникальный строковый идентификатор объекта , который является уникальным в рамках всей презентации.

Указание идентификаторов объектов при создании

При создании страниц или элементов страниц с помощью метода batchUpdate можно дополнительно указать идентификатор объекта для нового объекта. Это позволяет создавать объект и изменять его в рамках одного запроса batchUpdate, минимизируя количество обращений к API Slides и сокращая
использование квоты .

В большинстве случаев мы рекомендуем генерировать случайный идентификатор объекта. Например, если вы используете Java, хорошо подойдет java.util.UUID.randomUUID().toString() .

Если вашему приложению необходимо отслеживать объекты в течение длительного периода времени, не полагайтесь на идентификатор объекта, поскольку он может измениться. Подробнее см. в следующем разделе.

Отслеживание объектов без использования идентификатора объекта.

При отправке запроса к API Slides идентификатор объекта обычно сохраняется. (Любые исключения описаны в справочной документации к методу.) Создание копии всей презентации с помощью API Google Drive также сохраняет идентификаторы объектов.

However, you cannot depend on an object ID being unchanged after a presentation is changed in the Slides UI. For example, if someone uses the Slides UI to copy-paste a page element and then deletes the original, the page element will now have a new unique ID, and the ID you previously provided through the API will be lost. As a result, we don't recommend you store object IDs in your application's storage. Instead, you should find objects in the presentation by its text content or alt-text.

В новых презентациях обычно используется единый набор идентификаторов для слайдов по умолчанию, шаблонов и текстовых полей. Эти идентификаторы могут меняться со временем, поэтому мы не рекомендуем полагаться на эту функцию. Вместо этого найдите элементы, которые вы хотите изменить, используя объект презентации, возвращаемый вызовами методов create() или get() .