Interfejs Google Slides API umożliwia tworzenie, przenoszenie i usuwanie slajdów. Przykłady na tej stronie pokazują typowe operacje na slajdach z użyciem metody presentations.batchUpdate
.
W tych przykładach używamy tych zmiennych:
- PRESENTATION_ID– wskazuje, gdzie podajesz identyfikator prezentacji. Wartość tego identyfikatora znajdziesz w adresie URL prezentacji.
- PAGE_ID i PAGE_ID2 – wskazują miejsca, w których podajesz identyfikatory obiektów strony. Wartość tego parametru możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
Przykłady te są przedstawione jako żądania HTTP, aby były niezależne od języka. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu Google API, zapoznaj się z tymi przewodnikami: Tworzenie slajdu i Dodawanie kształtów i tekstu.
Kopiowanie slajdu
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak użyć metody DuplicateObjectRequest
do skopiowania slajdu i wstawienia go po oryginalnym slajdzie w prezentacji.
Oryginalny slajd jest określony przez PAGE_ID.
W żądaniu możesz określić, czy w kopii mają się znajdować identyfikatory niektórych lub wszystkich elementów strony (z pewnymi ograniczeniami). W tym przykładzie oryginalny slajd zawiera element tabeli (określony przez TABLE_ELEMENT_ID), który jest mapowany na nową tabelę (określoną przez COPY_TABLE_ELEMENT_ID) na kopii slajdu (określonej przez COPY_PAGE_ID). Wszystkie inne elementy na kopii mają losowe identyfikatory.
Więcej informacji o kopiowaniu elementów, w tym pól tekstowych, obrazów, tabel, podstawowych kształtów, linii i osadzonych filmów, znajdziesz w przykładowym artykule Kopiowanie i edytowanie elementu.PageElement
Oto protokół żądania kopiowania slajdu:
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" } } } ] }
Tworzenie slajdu
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody CreateSlideRequest
utworzyć slajd i wstawić go jako czwarty slajd (używając indeksu insertionIndex
opartego na zerze) w prezentacji.
Nowy slajd jest ustawiony na używanie
PredefinedLayout
z TITLE_AND_TWO_COLUMNS
. Możesz określić ciąg znaków, który będzie używany jako PAGE_ID slajdu (z pewnymi ograniczeniami), lub zezwolić interfejsowi API na wygenerowanie PAGE_ID przez pominięcie pola w żądaniu.
Oto protokół żądania utworzenia slajdu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": "PAGE_ID", "insertionIndex": 3, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" } } } ] }
Tworzenie slajdu i modyfikowanie elementów zastępczych
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody CreateSlideRequest
utworzyć slajd, korzystając z PredefinedLayout
TITLE_AND_TWO_COLUMNS
.
Możesz określić ciąg znaków, który będzie używany jako PAGE_ID w przypadku slajdu (z pewnymi ograniczeniami).
Metoda placeholderIdMappings
używa właściwości Type
elementu TITLE
. Symbol TITLE_ID odnosi się do kształtu obiektu zastępczego slajdu, więc można go modyfikować.
Oto protokół żądania służący do tworzenia slajdu i modyfikowania symboli zastępczych:
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", } }, ] }
Przenoszenie slajdów na nowe miejsce
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody UpdateSlidesPositionRequest
przenieść 2 określone slajdy na początek prezentacji, zachowując ich względną kolejność.
Podane identyfikatory slajdów (PAGE_ID i PAGE_ID2) muszą być podane w kolejności, w jakiej występują w prezentacji, i nie mogą się powtarzać. Liczba insertionIndex
(liczona od zera) wskazuje, gdzie należy wstawić slajdy, na podstawie kolejności przed przeniesieniem. Wartość musi być liczbą z zakresu od zera do liczby slajdów w prezentacji (włącznie).
Oto protokół żądania przeniesienia slajdów na nową pozycję:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateSlidesPosition": { "slideObjectIds": [ PAGE_ID, PAGE_ID2 ], "insertionIndex": 0 } } ] }
Ustawianie obrazu tła slajdu
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak użyć metody UpdatePagePropertiesRequest
do ustawienia obrazu tła slajdu określonego przez PAGE_ID. Interfejs API pobiera obraz za pomocą parametru
IMAGE_URL.
Maska pola służy do określenia, że należy zmienić tylko tło slajdu, aby zachować inne właściwości. Używanie masek pól również zwiększa wydajność.
Możesz też użyć metody UpdatePagePropertiesRequest
, aby ustawić tło slajdu na jednolity kolor.
Poniżej znajdziesz protokół żądania ustawienia obrazu tła slajdu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageProperties": { "objectId": PAGE_ID, "pageProperties": { "pageBackgroundFill": { "stretchedPictureFill": { "contentUrl": IMAGE_URL } } }, "fields": "pageBackgroundFill" } } ] }
Generowanie miniatury
Możesz wygenerować miniaturę najnowszej wersji konkretnej strony w prezentacji, wywołując metodę presentations.pages.getThumbnail
, która zwraca obraz miniatury strony jako adres URL treści. Adres URL obrazu ma domyślny okres istnienia wynoszący 30 minut.
Możesz też określić zwracane wartości mimeType
i thumbnailSize
, używając pola ThumbnailProperties
jako parametru zapytania.
Oto protokół żądania generowania miniatury strony z ustawionym parametrem 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" }