Mit der Google Präsentationen API können Sie Elemente auf Präsentationsseiten hinzufügen und ändern. Die Beispiele auf dieser Seite zeigen, wie häufige Lesevorgänge mit der Methode presentations.batchUpdate
ausgeführt werden.
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 der Präsentations-URL entnehmen.
- 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. Weitere Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mithilfe der Google API-Clientbibliotheken finden Sie unter Formen und Text hinzufügen.
Einer Folie ein Textfeld hinzufügen
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode CreateShapeRequest
einer durch PAGE_ID angegebenen Folie ein neues Textfeld mit dem String „My added Text Box“ hinzufügen können. Im Anfragetext werden zwei Anfragen angegeben: eine zum Erstellen des Textfelds (mit einer bestimmten Größe und Position) und eine zweite zum Einfügen von Text.
Die erste Anfrage gibt die Objekt-ID an, die für das Textfeld verwendet werden soll. So kann die zweite Anfrage sie im selben API-Aufruf verwenden, was den Overhead reduziert.
Im Folgenden finden Sie das Anfrageprotokoll zum Hinzufügen eines Textfelds zu einer Folie:
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 } } ] }
Folien Bilder hinzufügen
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode CreateImageRequest
einer Folie, die durch PAGE_ID angegeben ist, ein Bild hinzufügen. Die API ruft das Bild mithilfe des IMAGE_URL ab. Mit dieser Anfrage wird das Bild auch skaliert und auf der Folie positioniert.
Im Folgenden finden Sie das Anfrageprotokoll zum Hinzufügen eines Bilds zu einer Folie:
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" } } } } ] }
Seite oder Seitenelement löschen
Im folgenden presentations.batchUpdate
-Codebeispiel wird gezeigt, wie mit der Methode DeleteObjectRequest
das durch PAGE_ELEMENT_ID angegebene Seitenelement und die durch PAGE_ID angegebene Folie mit zwei separaten Anfragen gelöscht werden.
Das Anfrageprotokoll zum Löschen einer Seite oder eines Seitenelements lautet:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
Text in einer bestimmten Form bearbeiten
Im folgenden Codebeispiel für presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode DeleteTextRequest
einen Teil des Textes in der durch PAGE_ELEMENT_ID angegebenen Form ersetzen. Löschen Sie dazu zuerst den Text mithilfe der z. Z. nullbasierten startIndex
und fügen Sie dann an dieser Stelle neuen Text ein. In diesem Beispiel wird der ursprüngliche Textstring „My Shape Text: ????“ durch „My Shape Text: Trapezoid“ ersetzt.
Diese Anfrage wirkt sich nur auf Text in einer bestimmten Form aus. Wenn Sie Text überall in einer Präsentation ersetzen möchten, verwenden Sie die Methode ReplaceAllTextRequest
.
Im Folgenden finden Sie das Anfrageprotokoll zum Bearbeiten von Text in einer bestimmten Form:
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 } } ] }
Form-Tag durch ein Bild ersetzen
Tags sind Textfelder oder Formen mit einem eindeutigen Stringnamen, z. B. "Kontoinhabername".
Im folgenden presentations.batchUpdate
-Codebeispiel wird gezeigt, wie Sie mit der Methode CreateImageRequest
eine einzelne Instanz eines Shape-Tags durch ein Bild ersetzen, die Position beibehalten und es so skalieren, dass es der Größe des Tags entspricht, wobei das Seitenverhältnis des Bildes beibehalten wird.
Mit der Anfrage kann auch ein Bild durch ein anderes ersetzt werden. Die Anfrage besteht darin, das neue Image hinzuzufügen und anschließend das Tag zu löschen.
Die Methode CreateImageRequest
ersetzt nur eine bestimmte Form. Wenn Sie Tag-Formen überall in einer Präsentation ersetzen möchten, verwenden Sie eine ReplaceAllShapesWithImageRequest
-Methode.
Das Shape-Tag hat die folgenden PageElement
-Properties, die mit einer presentations.pages.get
-Anfrage abgerufen werden können:
{ "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" } }
Die Form befindet sich auf der durch PAGE_ID angegebenen Folie. Um das Bild anzugeben, das die Form ersetzt, ruft die API das Bild mithilfe von IMAGE_URL ab. Um das Seitenverhältnis des Bildes beizubehalten und es gleichzeitig auf die Größe des Tags zu beschränken, wird mit der Methode CreateImageRequest
sowohl die Bildgröße auf das Produkt der Tag-Größe und -Größe als auch die Bildskalierungsfaktoren auf 1
festgelegt. Weitere Informationen finden Sie unter Seitenverhältnis beibehalten.
Im Folgenden finden Sie das Anfrageprotokoll zum Ersetzen eines Formtags durch ein Bild:
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 } } ] }