Interfejs API Prezentacji Google umożliwia tworzenie i edytowanie
PageElement
zasobów, takich jak pola tekstowe, obrazy, tabele, podstawowe kształty, linie i
filmów umieszczonych na stronie. Przykłady na tej stronie pokazują niektóre typowe elementy
za pomocą funkcji
presentations.batchUpdate
.
W poniższych przykładach używane są te zmienne:
- PRESENTATION_ID – wskazuje, gdzie podajesz atrybuty prezentacja Identyfikator. Dostępne opcje pobierz wartość tego identyfikatora z adresu URL prezentacji.
- PAGE_ID – wskazuje miejsce, w którym podajesz obiekt strony. Identyfikator. Możesz pobrać tę wartość z adresu URL lub za pomocą żądania odczytu interfejsu API.
- PAGE_ELEMENT_ID – wskazuje, gdzie udostępniasz stronę identyfikator obiektu elementu. Ty może określać ten identyfikator dla elementów, które tworzysz (z niektórymi ograniczenia) lub pozwolić interfejsowi API Prezentacji na ich automatyczne utworzenie. Identyfikatory elementów można pobierać za pomocą żądania odczytu interfejsu API.
Te przykłady są prezentowane jako żądania HTTP bez względu na język. Aby się uczyć Jak wdrożyć aktualizację zbiorczą w różnych językach przy użyciu interfejsu API Google? bibliotek klienta, znajdziesz w tych przewodnikach:
Dodawanie listy punktowanej do pola tekstowego
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
InsertTextRequest
do wstawienia tekstu do pustego pola tekstowego określonego przez
PAGE_ELEMENT_ID Następnie w próbce użyto funkcji
CreateParagraphBulletsRequest
, aby przekonwertować cały tekst w polu tekstowym na listę punktowaną. Pozycje na liście
są rozdzielone znakami \n
, a wcięcie określa się za pomocą \t
znaków.
Oto protokół żądań tworzenia 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 spowodować utworzenie listy punktowanej w następujący sposób:
Dodawanie kształtu do slajdu
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
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 ustawia kształt
slajdzie. Następnie korzysta z funkcji
InsertTextRequest
aby dodać tekst do danego kształtu. Żądanie ustawia identyfikator linii na
PAGE_ELEMENT_ID
Oto protokół żądań dodawania 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
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
CreateVideoRequest
aby umieścić film na slajdzie określonym przez PAGE_ID.
To żądanie skaluje i ustawia film na slajdzie oraz ustawia
Identyfikator na PAGE_ELEMENT_ID. Unikalny identyfikator filmu źródłowego to
ustaw jako VIDEO_ID. Na przykład film w 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
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
DuplicateObjectRequest
aby przyjąć istniejący kształt (określony przez
PAGE_ELEMENT_ID) i utwórz jego kopię (określoną w
COPY_ELEMENT_ID).
Kolejne żądania wprowadzają te zmiany do zduplikowanego obiektu:
- Ustawia kolor tła na kolor motywu
LIGHT2
. - Przenosi kopię w dół strony (z pozycji oryginalnego kształtu).
- Ustawia czcionkę tekstu na 18 punktów – Georgia.
- Zmienia tekst tak, aby brzmiał „Kopia mojego kształtu”.
Żądania w tym miejscu korzystają z masek pól do zachowania właściwości kształtu, które nie zmieniają się (np. styl konturu). Zastosowanie poprawia też wydajność.
Więcej informacji na temat kopiowania slajdu można znaleźć w przykładowym artykule Kopiowanie slajd.
Protokół żądania do skopiowania i edytowania elementu wygląda tak:
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 kształt i jego kopia mogą wyglądać po aktualizacji:
Edytowanie konspektu obrazu lub filmu
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
UpdateImagePropertiesRequest
metody aktualizowania konspektu obrazu określonego przez
IMAGE_ELEMENT_ID Wykorzystuje też
UpdateVideoPropertiesRequest
do aktualizacji konspektu osadzonego filmu określonego przez
VIDEO_ELEMENT_ID
Te żądania wprowadzają te zmiany w obiekcie:
- Ustawia kolor konturu obrazu na kolor motywu
ACCENT5
z częściowym i przejrzystością. - Ustawia kolor konturu filmu na kolor motywu
ACCENT1
bez i przejrzystością. - Ustawia wagę konspektu na 3 punkty w przypadku obu opcji.
- Ustawia styl konspektu obrazu na
SOLID
. - Ustawia styl konspektu filmu na
DASH_DOT
.
Zarówno metoda UpdateImagePropertiesRequest
, jak i metoda
Metoda UpdateVideoPropertiesRequest
może tylko zmieniać wygląd obrazu
i konspekty filmu. Pozostałe właściwości są tylko do odczytu. Stosowane tu żądania używają
maski pola, aby wskazać, że tylko kontur
należy zmienić, aby zabezpieczyć kod przed przyszłymi zmianami interfejsu API. Korzystanie z pola
poprawiają też wydajność.
Protokół żądania umożliwiający edytowanie konspektu 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 po aktualizacji mogą wyglądać obraz i umieszczony film:
Edytowanie obrysu kształtu
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
UpdateShapePropertiesRequest
aby przyjąć istniejący kształt (określony przez
PAGE_ELEMENT_ID) i zmienia wygląd jego obrysu.
Te żądania wprowadzają te zmiany w obiekcie:
- Ustawia kolor konturu na kolor motywu
ACCENT5
z częściowym i przejrzystością. - Ustawia grubość konspektu na 3 pkt.
- Ustawia styl konspektu na
LONG_DASH
.
Żądania w tym miejscu korzystają z masek pól do zachowania właściwości kształtu, które nie zmieniają się (np. kolor wypełnienia kształtu). Zastosowanie poprawia też wydajność.
Protokół żądań do edytowania konspektu kształtu znajduje się poniżej:
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 aktualizacji:
Formatowanie tekstu w kształcie lub polu tekstowym
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
UpdateTextStyleRequest
aby przyjąć istniejący kształt (określony przez
PAGE_ELEMENT_ID) i aktualizuje wygląd tekstu.
Te żądania wprowadzają te zmiany w obiekcie:
- Ustawia kolor tekstu na kolor motywu
ACCENT5
. - Ustawia pogrubienie, kursywę i 18-punktową czcionkę Corsiva.
- Podkreśla tekst.
Żądania w tym miejscu korzystają z masek pól do zachowania właściwości stylu tekstu, które się nie zmieniają (takie jak kolor tła, linków i przesunięcia punktu odniesienia). Użycie masek pól również zwiększa wydajność.
Poniżej znajduje się protokół żądania do 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 wprowadzeniu aktualizacji:
Importowanie wykresu z Arkuszy Google
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
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 SPREADSHEET_ID) i identyfikator wykresu w arkuszu kalkulacyjnym (określonym przez SPREADSHEET_CHART_ID). Identyfikator wykresu w Sposób prezentacji w Prezentacjach jest określany przez PRESENTATION_CHART_ID
Żądanie ustawia też
LinkingMode
wykresu Prezentacji do wersji LINKED
, aby móc aktualizować
jeśli wykres w źródłowym arkuszu kalkulacyjnym został zaktualizowany.
Poniżej znajdziesz protokół żądania, z którego możesz zaimportować wykres Arkusze:
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 w Arkuszach
Poniżej
presentations.batchUpdate
przykładowy kod pokazuje, jak korzystać z
RefreshSheetsChartRequest
pozwala odświeżyć linkowany wykres w prezentacji, zastępując go najnowszym
tego wykresu ze źródłowego arkusza kalkulacyjnego Arkuszy.
żądanie wymaga identyfikatora wykresu w Prezentacjach
(określone przez zasadę PRESENTATION_CHART_ID).
Oto protokół żądania, z którego można odświeżyć wykres Arkusze:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "refreshSheetsChart": { "objectId": PRESENTATION_CHART_ID } } ] }