Interfejs Google Slides API umożliwia tworzenie i edytowanie zasobu
PageElement
, w tym pól tekstowych, obrazów, tabel, kształtów podstawowych, linii i
umieszczonych filmów. Przykłady na tej stronie pokazują niektóre typowe operacje na elementach strony
wykonywane za pomocą
presentations.batchUpdate
metody.
W tych przykładach używane są te zmienne:
- PRESENTATION_ID – wskazuje miejsce, w którym podajesz identyfikator prezentacji. Wartość tego identyfikatora możesz pobrać z adresu URL prezentacji.
- PAGE_ID – wskazuje miejsce, w którym podajesz identyfikator obiektu strony. Wartość tego identyfikatora możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
- PAGE_ELEMENT_ID – wskazuje miejsce, w którym podajesz identyfikator obiektu elementu strony page. Możesz określić ten identyfikator dla tworzonych elementów (z pewnymi ograniczeniami) lub pozwolić interfejsowi Slides API na automatyczne utworzenie identyfikatora. Identyfikatory elementów można pobrać za pomocą żądania odczytu interfejsu API.
Te przykłady są przedstawione jako żądania HTTP, aby były niezależne od języka. Aby dowiedzieć się, jak zaimplementować aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu Google API, zapoznaj się z tymi przewodnikami:
Dodawanie listy punktowanej do pola tekstowego
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
InsertTextRequest
, aby wstawić tekst do pustego pola tekstowego określonego przez
PAGE_ELEMENT_ID. Następnie przykład używa
CreateParagraphBulletsRequest
metody, aby przekształcić cały tekst w polu tekstowym w listę punktowaną. Elementy na liście są oddzielone znakami \n, a wcięcia są kontrolowane za pomocą znaków \t.
Oto protokół żądania utworzenia prezentacji:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3", "insertionIndex": 0 }, "createParagraphBullets": { "objectId": PAGE_ELEMENT_ID, "bulletPreset": "BULLET_ARROW_DIAMOND_DISC", "textRange": { "type": "ALL" } } } ] }
To żądanie może utworzyć listę punktowaną, która wygląda tak:

Dodawanie kształtu do slajdu
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
CreateShapeRequest
, aby dodać kształt fali do slajdu określonego przez PAGE_ID.
To żądanie określa typ kształtu, a następnie skaluje i umieszcza kształt na slajdzie. Następnie używa metody
InsertTextRequest
, aby dodać tekst do tego kształtu. Żądanie ustawia identyfikator linii na
PAGE_ELEMENT_ID.
Oto protokół żądania dodania kształtu do slajdu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createShape": {
"objectId": PAGE_ELEMENT_ID,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 3000000,
"unit": "EMU"
},
"height": {
"magnitude": 3000000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 0.6807,
"scaleY": 0.4585,
"translateX": 6583050,
"translateY": 1673950,
"unit": "EMU"
}
},
"shapeType": "WAVE"
}
},
{
"insertText": {
"objectId": PAGE_ELEMENT_ID,
"text": "My Wave Shape",
"insertionIndex": 0
}
}
]
}Dodawanie filmu do slajdu
Ten przykładowy
presentations.batchUpdate
kod pokazuje, jak użyć metody
CreateVideoRequest
, aby umieścić film na slajdzie określonym przez PAGE_ID.
To żądanie skaluje i umieszcza film na slajdzie oraz ustawia identyfikator filmu na PAGE_ELEMENT_ID. Unikalny identyfikator filmu źródłowego jest
ustawiony na VIDEO_ID. Na przykład film na YouTube pod adresem
https://www.youtube.com/watch?v=7U3axjORYZ0
ma identyfikator 7U3axjORYZ0.
Oto protokół żądania dodania filmu do slajdu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createVideo": {
"objectId": PAGE_ELEMENT_ID,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 12000,
"unit": "EMU"
},
"height": {
"magnitude": 9000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 381,
"scaleY": 381,
"translateX": 152400,
"translateY": 152400,
"unit": "EMU"
}
},
"source": "YOUTUBE",
"id": VIDEO_ID
}
}
]
}Kopiowanie i edytowanie elementu
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
DuplicateObjectRequest
, aby utworzyć kopię istniejącego kształtu (określonego przez
PAGE_ELEMENT_ID) i utworzyć kopię (określoną przez
COPY_ELEMENT_ID).
Kolejne żądania wprowadzają te zmiany w zduplikowanym obiekcie:
- Ustawia kolor tła na kolor motywu
LIGHT2. - Przesuwa kopię w dół strony (z pozycji oryginalnego kształtu).
- Ustawia czcionkę tekstu na 18-punktową Georgia.
- Edytuje tekst, aby brzmiał „Kopia mojego kształtu”.
Żądania używają masek pól, aby zachować właściwości kształtu, które nie są zmieniane (np. styl konturu). Używanie masek pól zwiększa też wydajność.
Więcej informacji o kopiowaniu slajdu znajdziesz w przykładzie Kopiowanie slajdu.
Oto protokół żądania skopiowania i edytowania elementu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "duplicateObject": { "objectId": PAGE_ELEMENT_ID, "objectIds": { PAGE_ELEMENT_ID: COPY_ELEMENT_ID } } }, { "updateShapeProperties": { "objectId": COPY_ELEMENT_ID, "fields": "shapeBackgroundFill.solidFill.color", "shapeProperties": { "shapeBackgroundFill": { "solidFill": { "color": { "themeColor": "LIGHT2" } } } } } }, { "updatePageElementTransform": { "objectId": COPY_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 0, "translateY": 1250000, "unit": "EMU" } } }, { "updateTextStyle": { "objectId": COPY_ELEMENT_ID, "fields": "fontFamily,fontSize", "textRange": { "type": "ALL" }, "style": { "fontFamily": "Georgia", "fontSize": { "magnitude": 18, "unit": "PT" } } } }, { "deleteText": { "objectId": COPY_ELEMENT_ID, "textRange": { "type": "ALL" } } }, { "insertText": { "objectId": COPY_ELEMENT_ID, "text": "My Shape Copy", "insertionIndex": 0 } } ] }
Oto jak może wyglądać kształt i jego kopia po tych aktualizacjach:

Edytowanie konturu obrazu lub filmu
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
UpdateImagePropertiesRequest
, aby zaktualizować wygląd konturu obrazu określonego przez
IMAGE_ELEMENT_ID. Używa też metody
UpdateVideoPropertiesRequest
, aby zaktualizować wygląd konturu umieszczonego filmu określonego przez
VIDEO_ELEMENT_ID.
Żądania wprowadzają te zmiany w obiekcie:
- Ustawia kolor konturu obrazu na kolor motywu
ACCENT5z częściową przezroczystością. - Ustawia kolor konturu filmu na kolor motywu
ACCENT1bez przezroczystości. - Ustawia grubość konturu na 3 punkty w obu przypadkach.
- Ustawia styl konturu obrazu na
SOLID. - Ustawia styl konspektu filmu na
DASH_DOT.
Zarówno metoda UpdateImagePropertiesRequest, jak i UpdateVideoPropertiesRequest mogą zmieniać tylko wygląd konturów obrazów i filmów. Wszystkie inne właściwości są tylko do odczytu. Żądania używają
masek pól, aby określić, że należy zmienić tylko kontur
, aby chronić kod przed przyszłymi zmianami w interfejsie API. Używanie masek pól zwiększa też wydajność.
Oto protokół żądania edytowania konturu obrazu lub filmu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"updateImageProperties": {
"objectId": IMAGE_ELEMENT_ID,
"fields": "outline",
"imageProperties": {
"outline": {
"dashStyle": "SOLID",
"outlineFill": {
"solidFill": {
"alpha": 0.8,
"color": {
"themeColor": "ACCENT5"
}
}
},
"weight": {
"magnitude": 3,
"unit": "PT"
}
}
}
}
},
{
"updateVideoProperties": {
"objectId": VIDEO_ELEMENT_ID,
"fields": "outline",
"videoProperties": {
"outline": {
"dashStyle": "DASH_DOT",
"outlineFill": {
"solidFill": {
"alpha": 0.8,
"color": {
"themeColor": "ACCENT1"
}
}
},
"weight": {
"magnitude": 3,
"unit": "PT"
}
}
}
}
}
]
}Oto jak może wyglądać obraz i umieszczony film po tych aktualizacjach:

Edytowanie konturu kształtu
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
UpdateShapePropertiesRequest
, aby pobrać istniejący kształt (określony przez
PAGE_ELEMENT_ID) i zaktualizować wygląd jego konturu.
Żądania wprowadzają te zmiany w obiekcie:
- Ustawia kolor konturu na kolor motywu
ACCENT5z częściową przezroczystością. - Ustawia grubość konturu na 3 punkty.
- Ustawia styl konturu na
LONG_DASH.
Żądania używają masek pól, aby zachować właściwości kształtu, które nie są zmieniane (np. kolor wypełnienia kształtu). Używanie masek pól zwiększa też wydajność.
Oto protokół żądania edytowania konturu kształtu:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"updateShapeProperties": {
"objectId": PAGE_ELEMENT_ID,
"fields": "outline",
"shapeProperties": {
"outline": {
"dashStyle": "LONG_DASH",
"outlineFill": {
"solidFill": {
"alpha": 0.6,
"color": {
"themeColor": "ACCENT5"
}
}
},
"weight": {
"magnitude": 3,
"unit": "PT"
}
}
}
}
}
]
}Oto jak może wyglądać kształt po tych aktualizacjach:

Formatowanie tekstu w kształcie lub polu tekstowym
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
UpdateTextStyleRequest
, aby pobrać istniejący kształt (określony przez
PAGE_ELEMENT_ID) i zaktualizować wygląd jego tekstu.
Żądania wprowadzają te zmiany w obiekcie:
- Ustawia kolor tekstu na kolor motywu
ACCENT5. - Ustawia czcionkę na pogrubioną, kursywę 18-punktową Corsiva.
- Podkreśla tekst.
Żądania używają masek pól, aby zachować właściwości stylu tekstu, które nie są zmieniane (np. kolor tła, linki lub przesunięcia linii bazowej). Używanie masek pól zwiększa też wydajność.
Oto protokół żądania formatowania tekstu w kształcie lub polu tekstowym:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateTextStyle": { "objectId": PAGE_ELEMENT_ID, "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline", "style": { "foregroundColor": { "opaqueColor": { "themeColor": "ACCENT5" } }, "bold": true, "italic": true, "underline": true, "fontFamily": "Corsiva", "fontSize": { "magnitude": 18, "unit": "PT" } }, "textRange": { "type": "ALL" } } } ] }
Oto jak może wyglądać tekst kształtu po tych aktualizacjach:

Importowanie wykresu z Arkuszy Google
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
CreateSheetsChartRequest
, aby zaimportować wykres z arkusza i umieścić go na slajdzie określonym przez
PAGE_ID.
Żądanie wymaga identyfikatora arkusza kalkulacyjnego (określonego przez the SPREADSHEET_ID) i identyfikatora wykresu arkusza kalkulacyjnego (określonego przez the SPREADSHEET_CHART_ID). Identyfikator wykresu w the prezentacji Prezentacji jest określony przez the PRESENTATION_CHART_ID.
Żądanie ustawia też
LinkingMode
wykresu Prezentacji na LINKED, aby można było zaktualizować
umieszczony wykres, jeśli wykres w arkuszu źródłowym zostanie zaktualizowany.
Oto protokół żądania importowania wykresu z Arkuszy:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createSheetsChart": {
"objectId": PRESENTATION_CHART_ID,
"spreadsheetId": SPREADSHEET_ID,
"chartId": SPREADSHEET_CHART_ID,
"linkingMode": "LINKED",
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 4000000,
"unit": "EMU"
},
"height": {
"magnitude": 4000000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 100000,
"translateY": 100000,
"unit": "EMU"
}
}
}
]
}Odświeżanie wykresu z Arkuszy
Ten przykładowy kod
presentations.batchUpdate
pokazuje, jak użyć metody
RefreshSheetsChartRequest
, aby odświeżyć połączony wykres w prezentacji, zastępując go najnowszą
wersją tego wykresu z arkusza źródłowego. Żądanie wymaga identyfikatora wykresu w prezentacji Prezentacji
(określonego przez PRESENTATION_CHART_ID).
Oto protokół żądania odświeżenia wykresu z Arkuszy:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"refreshSheetsChart": {
"objectId": PRESENTATION_CHART_ID
}
}
]
}