Grundkenntnisse

Mit der Google Slides API können Sie Präsentationselementen auf Präsentationsfolien hinzufügen und diese ändern. Die Beispiele auf dieser Seite zeigen, wie Sie mit der presentations.batchUpdate Methode gängige Lesevorgänge ausführen.

In diesen Beispielen werden die folgenden Variablen verwendet:

  • PRESENTATION_ID: Gibt an, wo Sie die Präsentations ID angeben. Sie finden den Wert für diese ID in der Präsentations-URL.
  • PAGE_ID—Gibt an, wo Sie die Objekt-ID der Seite angeben. Sie können den Wert dafür aus der URL abrufen oder eine API-Leseanfrage verwenden.
  • PAGE_ELEMENT_ID: Gibt an, wo Sie die Objekt-ID des Seiten elements angeben. Sie können diese ID für von Ihnen erstellte Elemente angeben (mit einigen Einschränkungen) oder die Slides API automatisch eine erstellen lassen. Element-IDs können über eine API-Leseanfrage abgerufen werden.

Diese Beispiele werden als HTTP-Anfragen dargestellt, um sprachneutral zu sein. Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mit den Google API-Clientbibliotheken finden Sie unter Formen und Text hinzufügen.

Einer Folie ein Textfeld hinzufügen

Das folgende presentations.batchUpdate -Codebeispiel zeigt, wie Sie mit der Methode CreateShapeRequest ein neues Textfeld mit dem String „My Added Text Box“ zu einer Folie hinzufügen, die durch die PAGE_ID angegeben wird. Im Anfragetext werden zwei Anfragen angegeben: eine zum Erstellen der Textfeldform (mit einer bestimmten Größe und Position) und eine zweite zum Einfügen von Text.

In der ersten Anfrage wird die Objekt- ID für das Textfeld angegeben. So kann sie in der zweiten Anfrage im selben API-Aufruf verwendet werden, was den Aufwand reduziert.

Das folgende Anfrageprotokoll zeigt, wie Sie einer Folie ein Textfeld hinzufügen:

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
      }
    }
  ]
}

Einer Folie ein Bild hinzufügen

Das folgende presentations.batchUpdate -Codebeispiel zeigt, wie Sie mit der Methode CreateImageRequest einer Folie, die durch die PAGE_ID angegeben wird, ein Bild hinzufügen. Die API ruft das Bild über die IMAGE_URL ab. Mit dieser Anfrage wird das Bild auch auf der Folie skaliert und positioniert.

Das folgende Anfrageprotokoll zeigt, wie Sie einer Folie ein Bild hinzufügen:

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"
          }
        }
      }
    }
  ]
}

Eine Seite oder ein Seitenelement löschen

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der DeleteObjectRequest Methode das durch PAGE_ELEMENT_ID angegebene Seitenelement und die durch PAGE_ID angegebene Folie mit zwei separaten Anfragen löschen.

Das folgende Anfrageprotokoll zeigt, wie Sie eine Seite oder ein Seitenelement löschen:

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

Das folgende presentations.batchUpdate -Codebeispiel zeigt, wie Sie mit der Methode DeleteTextRequest einen Teil des Texts in der durch PAGE_ELEMENT_IDangegebenen Form ersetzen. Dazu löschen Sie zuerst Text mit dem nullbasierten startIndex und fügen dann an dieser Position 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 ReplaceAllTextRequest Methode.

Das folgende Anfrageprotokoll zeigt, wie Sie Text in einer bestimmten Form bearbeiten:

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
      }
    }
  ]
}

Ein Form-Tag durch ein Bild ersetzen

Tags sind Textfelder oder Formen mit einem eindeutigen Stringnamen wie „account-holder-name“.

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der CreateImageRequest Methode eine einzelne Instanz eines Form-Tags durch ein Bild ersetzen. Dabei wird die Position beibehalten und das Bild so skaliert, dass es an die Größe des Tags angepasst wird, während das Seitenverhältnis des Bilds beibehalten wird.

Die Anfrage kann auch verwendet werden, um ein Bild durch ein anderes zu ersetzen. Dazu wird das neue Bild hinzugefügt und dann das Tag gelöscht.

Die Methode CreateImageRequest ersetzt nur eine bestimmte Form. Wenn Sie Tag Formen überall in einer Präsentation ersetzen möchten, verwenden Sie die ReplaceAllShapesWithImageRequest Methode.

Das Form-Tag hat die folgenden PageElement Attribute (die Sie mit einer presentations.pages.get Anfrage finden 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 Folie, die durch PAGE_ID angegeben wird. Um das Bild anzugeben, das die Form ersetzt, ruft die API das Bild über die IMAGE_URL ab. Damit das Seitenverhältnis des Bilds beibehalten wird, während es auf die Größe des Tags beschränkt wird, legt die CreateImageRequest Methode sowohl die Bildgröße auf das Produkt aus Tag-Größe und Skalierung als auch die Bildskalierungsfaktoren auf 1 fest. Weitere Informationen finden Sie unter Seitenverhältnis beibehalten.

Das folgende Anfrageprotokoll zeigt, wie Sie ein Form-Tag durch ein Bild ersetzen:

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
      }
    }
  ]
}