API Google Slides позволяет добавлять и изменять элементы на страницах презентации. В примерах на этой странице показано, как выполнять распространенные операции чтения с помощью presentations.batchUpdate
.
В этих примерах используются следующие переменные:
- PRESENTATION_ID —Указывает, где вы предоставляете идентификатор презентации . Вы можете узнать значение этого идентификатора по URL-адресу презентации.
- PAGE_ID —Указывает, где вы предоставляете идентификатор объекта страницы . Вы можете получить это значение по URL-адресу или с помощью запроса на чтение API.
- PAGE_ELEMENT_ID —Указывает, где вы предоставляете идентификатор объекта элемента страницы . Вы можете указать этот идентификатор для создаваемых вами элементов (с некоторыми ограничениями ) или разрешить Slides API автоматически создавать его. Идентификаторы элементов можно получить с помощью запроса на чтение API.
Эти примеры представлены в виде HTTP-запросов, которые не зависят от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел Добавление фигур и текста .
Добавление текстового поля на слайд
В следующем примере presentations.batchUpdate
показано, как использовать метод CreateShapeRequest
для добавления нового текстового поля (содержащего строку «Мое добавленное текстовое поле») на слайд, указанный PAGE_ID . В теле запроса указываются два запроса: один для создания формы текстового поля (с заданным размером и расположением), а второй для вставки в него текста.
Первый запрос указывает идентификатор объекта , который будет использоваться для текстового поля. Это позволяет второму запросу использовать его в том же вызове API, сокращая накладные расходы.
Ниже приведен протокол запроса на добавление текстового поля на слайд:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
Добавить изображение на слайд
В следующем примере presentations.batchUpdate
показано, как использовать метод CreateImageRequest
для добавления изображения на слайд, указанный PAGE_ID . API получает изображение, используя IMAGE_URL . Этот запрос также масштабирует и позиционирует изображение на слайде.
Ниже приведен протокол запроса на добавление изображения на слайд:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
Удаление страницы или элемента страницы
В следующем примере presentations.batchUpdate
показано, как использовать метод DeleteObjectRequest
для удаления элемента страницы, указанного PAGE_ELEMENT_ID , и слайда, указанного PAGE_ID с помощью двух отдельных запросов.
Ниже приведен протокол запроса на удаление страницы или элемента страницы:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
Редактировать текст в указанной форме
В следующем примере presentations.batchUpdate
показано, как использовать метод DeleteTextRequest
для замены части текста, присутствующего в форме, указанной PAGE_ELEMENT_ID . Для этого сначала удалите текст, используя startIndex
начинающийся с нуля, а затем вставьте новый текст в эту позицию. В этом примере исходная текстовая строка «Текст моей фигуры: ????» заменяется на «Текст моей фигуры: трапеция».
Этот запрос влияет только на текст указанной формы. Чтобы заменить текст повсюду в презентации, используйте метод ReplaceAllTextRequest
.
Ниже приведен протокол запроса на редактирование текста в указанной форме:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
Замена тега формы изображением
Теги — это текстовые поля или фигуры с уникальным строковым именем, например «имя владельца учетной записи».
В следующем примере presentations.batchUpdate
показано, как использовать метод CreateImageRequest
для замены одного экземпляра тега формы изображением, сохраняя то же положение и масштабируя его в соответствии с размером тега, сохраняя при этом соотношение сторон изображения.
Запрос также можно использовать для замены одного изображения другим. Запрос состоит из добавления нового изображения и последующего удаления тега.
Метод CreateImageRequest
заменяет только указанную фигуру. Чтобы заменить фигуры тегов повсюду в презентации, используйте метод ReplaceAllShapesWithImageRequest
.
Тег формы имеет следующие свойства PageElement
(которые можно найти с помощью presentations.pages.get
):
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1.13, "scaleY": 0.62, "translateX": 4800000, "translateY": 450000, "unit": "EMU" }, "shape": { "shapeType": "RECTANGLE" } }
Фигура находится на слайде, указанном PAGE_ID . Чтобы указать изображение, которое заменяет фигуру, API получает изображение, используя IMAGE_URL . Чтобы сохранить соотношение сторон изображения, ограничивая его размером тега, метод CreateImageRequest
устанавливает как размер изображения в произведение размера и масштаба тега, так и коэффициенты масштабирования изображения равные 1
. Дополнительную информацию см. в разделе Сохранение соотношения сторон .
Ниже приведен протокол запроса на замену тега формы изображением:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000 * 1.13, "unit": "EMU" }, "height": { "magnitude": 3000000 * 0.62, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4800000, "translateY": 450000, "unit": "PT" } } } }, { "deleteObject": { "objectId": PAGE_ELEMENT_ID } } ] }