API Google Slides позволяет создавать, перемещать и удалять слайды. В примерах на этой странице показаны некоторые распространенные операции со слайдами с использованием presentations.batchUpdate
.
В этих примерах используются следующие переменные:
- PRESENTATION_ID —Указывает, где вы предоставляете идентификатор презентации . Значение этого идентификатора можно узнать по URL-адресу презентации.
- PAGE_ID и PAGE_ID2 — указывают, где вы предоставляете идентификаторы объектов страницы . Вы можете получить это значение по URL-адресу или с помощью запроса на чтение API.
Эти примеры представлены в виде HTTP-запросов, которые не зависят от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. следующие руководства: «Создание слайда» и «Добавление фигур и текста» .
Копирование слайда
В следующем примере presentations.batchUpdate
показано, как использовать метод DuplicateObjectRequest
для копирования слайда и вставки его после оригинала в презентацию. Исходный слайд указывается PAGE_ID .
Запрос позволяет указать, должны ли некоторые или все идентификаторы элементов страницы присутствовать в копии (с некоторыми ограничениями ). В этом примере исходный слайд содержит элемент таблицы (указанный TABLE_ELEMENT_ID ), который сопоставлен с новой таблицей (указанной COPY_TABLE_ELEMENT_ID ) в копии слайда (указанной COPY_PAGE_ID ). Всем остальным элементам копии присваиваются случайные идентификаторы.
Дополнительные сведения о копировании PageElement
, включая текстовые поля, изображения, таблицы, основные фигуры, линии и встроенные видео, см. в примере Копирование и редактирование элемента .
Ниже приведен протокол запроса на копирование слайда:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID :batchUpdate
{ "requests": [ { "duplicateObject": { "objectId":PAGE_ID , "objectIds": { "PAGE_ID ": "COPY_PAGE_ID ", "TABLE_ELEMENT_ID ": "COPY_TABLE_ELEMENT_ID " } } } ] }
Создать слайд
В следующем примере presentations.batchUpdate
показано, как использовать метод CreateSlideRequest
для создания слайда и вставки его в качестве четвертого слайда (с использованием метода insertionIndex
отсчитываемого от нуля) в презентацию.
Новый слайд настроен на использование PredefinedLayout
TITLE_AND_TWO_COLUMNS
. Вы можете указать строку, которая будет использоваться в качестве PAGE_ID для слайда (с некоторыми ограничениями ), или разрешить API генерировать PAGE_ID , опустив это поле в запросе.
Ниже приведен протокол запроса на создание слайда:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID :batchUpdate
{ "requests": [ { "createSlide": { "objectId": "PAGE_ID ", "insertionIndex": 3, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" } } } ] }
Создание слайда и изменение заполнителей
В следующем примере presentations.batchUpdate
показано, как использовать метод CreateSlideRequest
для создания слайда с использованием PredefinedLayout
TITLE_AND_TWO_COLUMNS
.
Вы можете указать строку, которая будет использоваться в качестве PAGE_ID слайда (с некоторыми ограничениями ). placeholderIdMappings
использует Type
TITLE
. TITLE_ID ссылается на форму заполнителя слайда, поэтому его можно изменить.
Ниже приведен протокол запроса на создание слайда и изменение заполнителей:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID :batchUpdate
{ "requests": [ { "createSlide": { "objectId":PAGE_ID , "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" }, "placeholderIdMappings": [ { "layoutPlaceholder": { "type": "TITLE", "index": 0 }, "objectId":TITLE_ID , }, ], } }, { "insertText": { "objectId":TITLE_ID , "text": "This is my slide title", } }, ] }
Переместить слайды в новое положение
В следующем примере presentations.batchUpdate
показано, как использовать метод UpdateSlidesPositionRequest
, чтобы взять два указанных слайда и переместить их в начало презентации, сохраняя их относительный порядок.
Указанные идентификаторы слайдов ( PAGE_ID и PAGE_ID2 ) должны быть указаны в существующем порядке презентации, без дубликатов. insertionIndex
отсчитываемый от нуля, указывает, куда должны быть вставлены слайды, в зависимости от порядка перед перемещением. Значение должно находиться в диапазоне от нуля до количества слайдов в презентации включительно.
Ниже приведен протокол запроса на перемещение слайдов в новую позицию:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID :batchUpdate
{ "requests": [ { "updateSlidesPosition": { "slideObjectIds": [PAGE_ID ,PAGE_ID2 ], "insertionIndex": 0 } } ] }
Установка фонового изображения слайда
В следующем примере presentations.batchUpdate
показано, как использовать метод UpdatePagePropertiesRequest
для установки фонового изображения слайда, указанного PAGE_ID . API получает изображение, используя IMAGE_URL .
Маска поля используется, чтобы указать, что следует изменить только фон слайда, чтобы сохранить другие свойства. Использование масок полей также повышает производительность.
Альтернативно можно использовать метод UpdatePagePropertiesRequest
, чтобы установить для фона слайда сплошной цвет.
Ниже приведен протокол запроса на установку фонового изображения слайда:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID :batchUpdate
{ "requests": [ { "updatePageProperties": { "objectId":PAGE_ID , "pageProperties": { "pageBackgroundFill": { "stretchedPictureFill": { "contentUrl":IMAGE_URL } } }, "fields": "pageBackgroundFill" } } ] }
Создать миниатюру
Вы можете создать миниатюру последней версии определенной страницы в презентации, вызвав presentations.pages.getThumbnail
, который возвращает миниатюрное изображение страницы в качестве URL-адреса контента. Срок действия URL-адреса изображения по умолчанию составляет 30 минут.
Вы также можете указать возвращаемые mimeType
и thumbnailSize
используя поле ThumbnailProperties
в качестве параметра запроса.
Ниже приведен протокол запроса для создания миниатюры страницы с набором ThumbnailProperties
:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID /pages/PAGE_ID /thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{ "width": 800, "height": 450, "contentUrl": "CONTENT_URL " }