Операции со слайдами

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"
}