Mit der Google Slides API können Sie eine PageElement
-Ressource erstellen und bearbeiten, einschließlich Textfeldern, Bildern, Tabellen, einfachen Formen, Linien und eingebetteten Videos. Die Beispiele auf dieser Seite zeigen einige gängige Vorgänge für Seitenelemente, für die die Methode presentations.batchUpdate
verwendet wird.
In diesen Beispielen werden die folgenden Variablen verwendet:
- PRESENTATION_ID: Gibt an, wo Sie die Präsentations-ID angeben. Sie können den Wert für diese ID aus der Präsentations-URL abrufen.
- PAGE_ID: Gibt an, wo Sie die Seitenobjekt-ID angeben. Sie können den Wert hierfür aus der URL oder über eine API-Leseanfrage abrufen.
- PAGE_ELEMENT_ID: Gibt an, wo Sie die Objekt-ID des Seitenelements angeben. Sie können diese ID für von Ihnen erstellte Elemente angeben (mit einigen Einschränkungen) oder zulassen, dass die Slides API automatisch eines erstellt. Element-IDs können über eine API-Leseanfrage abgerufen werden.
Diese Beispiele werden als HTTP-Anfragen dargestellt, damit sie sprachneutral sind. Informationen zum Implementieren einer Batch-Aktualisierung in verschiedenen Sprachen mithilfe der Google API-Clientbibliotheken finden Sie in den folgenden Anleitungen:
Aufzählungslisten zu Textfeldern hinzufügen
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode InsertTextRequest
Text in ein leeres Textfeld einfügen, das durch PAGE_ELEMENT_ID angegeben wird. Im Beispiel wird dann mit der Methode CreateParagraphBulletsRequest
der gesamte Textfeldtext in eine Aufzählungsliste konvertiert. Die Elemente in der Liste werden durch \n
-Zeichen getrennt, während der Einzug über \t
-Zeichen gesteuert wird.
Das folgende Anfrageprotokoll wird zum Erstellen einer Präsentation verwendet:
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" } } } ] }
Mit dieser Anfrage kann eine Aufzählungsliste erstellt werden, die so aussieht:
Formen in Folien einfügen
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode CreateShapeRequest
einer durch PAGE_ID angegebenen Folie eine Wellenform hinzufügen.
Diese Anfrage gibt den Formtyp an und skaliert und positioniert die Form dann auf der Folie. Dann verwendet es die Methode InsertTextRequest
, um dieser Form Text hinzuzufügen. In der Anfrage wird die Zeilen-ID auf PAGE_ELEMENT_ID gesetzt.
Mit dem folgenden Anfrageprotokoll können Sie einer Folie eine Form hinzufügen:
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 } } ] }
Videos in Folien einfügen
Das folgende Codebeispiel für presentations.batchUpdate
zeigt, wie Sie mit der Methode CreateVideoRequest
ein Video in eine Folie einbetten können, die durch PAGE_ID angegeben wird.
Mit dieser Anfrage wird das Video auf der Folie skaliert und positioniert und die Video-ID auf PAGE_ELEMENT_ID gesetzt. Die eindeutige Kennung des Quellvideos wird auf VIDEO_ID festgelegt. Das YouTube-Video unter https://www.youtube.com/watch?v=7U3axjORYZ0
hat beispielsweise die ID 7U3axjORYZ0
.
Mit dem folgenden Anfrageprotokoll können Sie einer Folie ein Video hinzufügen:
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 } } ] }
Elemente kopieren und bearbeiten
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode DuplicateObjectRequest
eine vorhandene Form (angegeben durch PAGE_ELEMENT_ID) übernehmen und eine Kopie erstellen (angegeben durch COPY_ELEMENT_ID).
In den nachfolgenden Anfragen werden dann die folgenden Änderungen am doppelten Objekt vorgenommen:
- Als Hintergrundfarbe wird die Designfarbe
LIGHT2
festgelegt. - Die Kopie wird auf der Seite nach unten verschoben (von der Position der ursprünglichen Form aus).
- Hiermit wird die Schriftart für Georgien (18 pt) festgelegt.
- Bearbeitet den Text, sodass er „Meine Form“ lautet.
In den Anfragen werden hier Feldmasken verwendet, um die nicht geänderten Formeigenschaften beizubehalten, z. B. den Umriss. Die Verwendung von Feldmasken verbessert auch die Leistung.
Weitere Informationen zum Kopieren einer Folie finden Sie im Beispiel Folie kopieren.
Das folgende Anfrageprotokoll dient zum Kopieren und Bearbeiten eines Elements:
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 } } ] }
So könnte eine Form und ihre Kopie nach diesen Aktualisierungen aussehen:
Bild- oder Videostruktur bearbeiten
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode UpdateImagePropertiesRequest
die Umrissdarstellung eines durch IMAGE_ELEMENT_ID angegebenen Bildes aktualisieren. Außerdem wird die Methode UpdateVideoPropertiesRequest
verwendet, um die Umrisse eines eingebetteten Videos zu aktualisieren, das durch VIDEO_ELEMENT_ID angegeben wird.
Mit den Anfragen werden die folgenden Änderungen am Objekt vorgenommen:
- Legt als Bildumrissfarbe die Designfarbe
ACCENT5
mit teilweiser Transparenz fest. - Hiermit wird die Umrissfarbe des Videos auf die Designfarbe
ACCENT1
ohne Transparenz festgelegt. - Legt die Umrissstärken für beide auf 3 pt fest.
- Legt den Umrissstil des Bilds auf
SOLID
fest. - Hiermit wird der Videostrukturstil auf „
DASH_DOT
“ festgelegt.
Sowohl mit der Methode UpdateImagePropertiesRequest
als auch mit der Methode UpdateVideoPropertiesRequest
lässt sich nur die Darstellung von Bild- und Videoumrissen ändern. Alle anderen Properties sind schreibgeschützt. Die Anfragen hier verwenden Feldmasken, um anzugeben, dass nur der Umriss geändert werden soll, um den Code vor zukünftigen API-Änderungen zu schützen. Die Verwendung von Feldmasken verbessert auch die Leistung.
Das folgende Anfrageprotokoll dient zum Bearbeiten einer Bild- oder Videostruktur:
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" } } } } } ] }
So könnten ein Bild und eingebettetes Video nach diesen Updates aussehen:
Umriss einer Form bearbeiten
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode UpdateShapePropertiesRequest
eine vorhandene (durch PAGE_ELEMENT_ID angegebene) Form übernehmen und das Erscheinungsbild des Umrisses aktualisieren.
Mit den Anfragen werden die folgenden Änderungen am Objekt vorgenommen:
- Als Umrissfarbe wird die Designfarbe
ACCENT5
mit teilweiser Transparenz festgelegt. - Legt die Umrissstärke auf 3 pt fest.
- Legt den Umrissstil auf
LONG_DASH
fest.
In den Anfragen hier werden Feldmasken verwendet, um die nicht geänderten Formeigenschaften beizubehalten, z. B. die Formfüllfarbe. Die Verwendung von Feldmasken verbessert auch die Leistung.
Mit dem folgenden Anfrageprotokoll können Sie den Umriss einer Form bearbeiten:
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" } } } } } ] }
So könnte eine Form nach diesen Updates aussehen:
Text in einer Form oder einem Textfeld formatieren
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode UpdateTextStyleRequest
eine vorhandene (durch PAGE_ELEMENT_ID angegebene) Form übernehmen und das Erscheinungsbild des Textes aktualisieren.
Mit den Anfragen werden die folgenden Änderungen am Objekt vorgenommen:
- Legt die Textfarbe auf die Designfarbe
ACCENT5
fest. - Legt die Schrift auf fett, kursiv (18-pt-Corsiva) fest.
- Der Text wird unterstrichen.
In den Anfragen werden hier Feldmasken verwendet, um die Textstileigenschaften beizubehalten, die sich nicht ändern (z. B. Hintergrundfarbe, Links oder Basisversatz). Die Verwendung von Feldmasken verbessert auch die Leistung.
Das folgende Anfrageprotokoll dient zum Formatieren von Text in einer Form oder einem Textfeld:
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" } } } ] }
So könnte der Formtext nach diesen Updates aussehen:
Diagramm aus Google Tabellen importieren
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode CreateSheetsChartRequest
ein Diagramm aus einem Tabellenblatt importieren und auf einer durch PAGE_ID angegebenen Folie platzieren.
Für die Anfrage werden die Tabellen-ID (durch SPREADSHEET_ID angegeben) und die Diagramm-ID der Tabelle (angegeben durch SPREADSHEET_CHART_ID) benötigt. Die Diagramm-ID in der Präsentation wird durch PRESENTATION_CHART_ID angegeben.
Außerdem wird der LinkingMode
des Foliendiagramms auf LINKED
gesetzt, sodass Sie das eingebettete Diagramm aktualisieren können, wenn das Diagramm in der Quelltabelle aktualisiert wird.
Mit dem folgenden Anfrageprotokoll können Sie ein Diagramm aus Google Tabellen importieren:
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" } } } ] }
Diagramme aus Google Tabellen aktualisieren
Im folgenden Codebeispiel für presentations.batchUpdate
sehen Sie, wie Sie mit der Methode RefreshSheetsChartRequest
ein verknüpftes Diagramm in einer Präsentation aktualisieren und durch die neueste Version dieses Diagramms aus der Quelltabelle von Google Tabellen ersetzen. Für die Anfrage ist die Diagramm-ID in der Google-Präsentation erforderlich (angegeben durch PRESENTATION_CHART_ID).
Das folgende Anfrageprotokoll dient zum Aktualisieren eines Diagramms aus Google Tabellen:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "refreshSheetsChart": { "objectId": PRESENTATION_CHART_ID } } ] }