Elementvorgänge

Mit der Google Slides API können Sie eine PageElement-Ressource erstellen und bearbeiten, einschließlich Textfeldern, Bildern, Tabellen, grundlegenden Formen, Linien und eingebetteten Videos. Die Beispiele auf dieser Seite zeigen einige gängige Seitenelement-Vorgänge mit der Methode presentations.batchUpdate.

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 dafür aus der URL oder mithilfe einer 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 eine ID erstellt. Element-IDs können über eine API-Leseanfrage abgerufen werden.

Diese Beispiele werden als HTTP-Anfragen dargestellt, um sprachneutral zu sein. In den folgenden Anleitungen erfahren Sie, wie Sie mithilfe der Google API-Clientbibliotheken eine Batch-Aktualisierung in verschiedenen Sprachen implementieren:

Aufzählungslisten in Textfelder einfügen

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode InsertTextRequest Text in ein leeres Textfeld einfügen können, das von PAGE_ELEMENT_ID angegeben wird. Im Beispiel wird dann mit der Methode CreateParagraphBulletsRequest der gesamte Textfeldtext in eine Aufzählungsliste konvertiert. Elemente in der Liste werden durch \n-Zeichen getrennt, während die Einrückung mit \t-Zeichen gesteuert wird.

Hier ist das Anfrageprotokoll für die Erstellung einer Präsentation:

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 wie folgt aussieht:

Rezeptergebnis einer Aufzählungsliste.

Formen zu Folien hinzufügen

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode CreateShapeRequest einer durch PAGE_ID angegebenen Folie eine Wellenform hinzufügen. In dieser Anfrage wird der Formtyp angegeben und die Form dann skaliert und auf der Folie positioniert. Anschließend wird der Form mit der Methode InsertTextRequest Text hinzugefügt. In der Anfrage wird die Zeilen-ID auf PAGE_ELEMENT_ID festgelegt.

Im Folgenden finden Sie das Anfrageprotokoll zum Hinzufügen einer Form zu einer Folie:

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 auf einer Folie einfügen

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode CreateVideoRequest ein Video in eine durch PAGE_ID angegebene Folie einbetten können. Mit dieser Anfrage wird das Video auf der Folie skaliert und positioniert. Die Video-ID wird auf PAGE_ELEMENT_ID gesetzt. Die eindeutige ID des Quellvideos ist auf VIDEO_ID festgelegt. Das YouTube-Video unter https://www.youtube.com/watch?v=7U3axjORYZ0 hat beispielsweise die ID 7U3axjORYZ0.

Im Folgenden finden Sie das Anfrageprotokoll zum Hinzufügen eines Videos zu einer Folie:

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

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode DuplicateObjectRequest eine vorhandene Form (angegeben durch PAGE_ELEMENT_ID) und eine Kopie (angegeben durch COPY_ELEMENT_ID) erstellen.

Die nachfolgenden Anfragen nehmen dann folgende Änderungen am duplizierten Objekt vor:

  • Als Hintergrundfarbe wird die Designfarbe LIGHT2 festgelegt.
  • Verschiebt die Kopie auf der Seite nach unten (aus der Position der ursprünglichen Form).
  • Die Schriftart wird auf 18 pt Georgia festgelegt.
  • Der Text wird in „Meine Formkopie“ geändert.

Die Anfragen hier verwenden Feldmasken, um die Eigenschaften der Form beizubehalten, die nicht geändert werden (z. B. der Umrissstil). Die Verwendung von Feldmasken verbessert auch die Leistung.

Weitere Informationen zum Kopieren einer Folie finden Sie im Beispiel Folien kopieren.

Im Folgenden finden Sie das Anfrageprotokoll 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 ihr Text nach diesen Aktualisierungen aussehen:

Kopieren und bearbeiten Sie ein Elementrezeptergebnis.

Umriss eines Bildes oder Videos bearbeiten

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode UpdateImagePropertiesRequest die Umrissdarstellung eines von IMAGE_ELEMENT_ID angegebenen Bildes aktualisieren können. Außerdem wird die Methode UpdateVideoPropertiesRequest verwendet, um die Umrissdarstellung eines eingebetteten Videos zu aktualisieren, das durch VIDEO_ELEMENT_ID angegeben wird.

Die Anfragen nehmen folgende Änderungen am Objekt vor:

  • Legt die Umrissfarbe des Bildes auf die Designfarbe ACCENT5 mit teilweiser Transparenz fest.
  • Für die Videokonturfarbe wird die Designfarbe ACCENT1 ohne Transparenz festgelegt.
  • Die Umrissstärke wird für beide auf 3 pt festgelegt.
  • Legt den Umrissstil des Bilds auf SOLID fest.
  • Legt den Umrissstil des Videos auf DASH_DOT fest.

Sowohl mit der Methode UpdateImagePropertiesRequest als auch mit der Methode UpdateVideoPropertiesRequest kann nur die Darstellung von Bild- und Videoumrissen geändert werden. Alle anderen Properties sind schreibgeschützt. Die Anfragen hier verwenden Feldmasken, um anzugeben, dass nur die Struktur geändert werden soll, um den Code vor zukünftigen API-Änderungen zu schützen. Durch die Verwendung von Feldmasken wird auch die Leistung verbessert.

So bearbeiten Sie die Gliederung eines Bildes oder Videos:

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

Bilder und eingebettete Videos könnten nach diesen Änderungen so aussehen:

Ergebnisse zu Rezepten für
Bilder und Videos.

Umriss einer Form bearbeiten

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode UpdateShapePropertiesRequest eine vorhandene Form (angegeben durch PAGE_ELEMENT_ID) annehmen und die Darstellung ihres Umrisses aktualisieren.

Die Anfragen nehmen folgende Änderungen am Objekt vor:

  • Legt die Umrissfarbe auf die Designfarbe ACCENT5 mit teilweiser Transparenz fest.
  • Die Umrissstärke wird auf 3 pt festgelegt.
  • Legt den Umrissstil auf LONG_DASH fest.

Die Anfragen hier verwenden Feldmasken, um die Eigenschaften der Form beizubehalten, die nicht geändert werden (z. B. die Füllfarbe der Form). 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 Aktualisierungen aussehen:

Ergebnis des Outline-Rezepts bearbeiten.

Text in einer Form oder einem Textfeld formatieren

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode UpdateTextStyleRequest eine vorhandene Form (angegeben durch PAGE_ELEMENT_ID) annehmen und das Aussehen des zugehörigen Textes aktualisieren.

Die Anfragen nehmen folgende Änderungen am Objekt vor:

  • Legt die Textfarbe auf die Designfarbe ACCENT5 fest.
  • Legt die Schriftart als Fett- und Kursivformatierung (18-pt-Corsiva) fest.
  • Der Text wird unterstrichen.

Die Anfragen hier verwenden Feldmasken, um die Textstileigenschaften wie die Hintergrundfarbe, Links oder Referenzversätze beizubehalten, die nicht geändert werden. Durch die Verwendung von Feldmasken wird auch die Leistung verbessert.

Im Folgenden finden Sie das Anfrageprotokoll zur Formatierung 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"
        }
      }
    }
  ]
}

Nach diesen Aktualisierungen könnte der Text der Form wie folgt aussehen:

Bearbeiten Sie das Textformat-Rezeptergebnis.

Diagramme aus Google Tabellen importieren

Das folgende Codebeispiel presentations.batchUpdate zeigt, wie Sie mit der Methode CreateSheetsChartRequest ein Diagramm aus einem Tabellenblatt importieren und auf einer durch PAGE_ID angegebenen Folie platzieren können.

Für die Anfrage sind die Tabellen-ID (durch SPREADSHEET_ID angegeben) und die Diagramm-ID der Tabelle (durch SPREADSHEET_CHART_ID angegeben) erforderlich. Die Diagramm-ID in der Google-Präsentation wird durch den PRESENTATION_CHART_ID angegeben.

In der Anfrage wird außerdem LinkingMode des Präsentationen-Diagramms auf LINKED gesetzt, sodass Sie das eingebettete Diagramm aktualisieren können, wenn das Diagramm in der Quelltabelle aktualisiert wird.

Im Folgenden finden Sie das Anfrageprotokoll für den Import eines Diagramms aus Google Tabellen:

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

Das folgende Codebeispiel presentations.batchUpdate zeigt, 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 können. Für die Anfrage ist die Diagramm-ID in der Präsentation (durch PRESENTATION_CHART_ID angegeben) erforderlich.

Im Folgenden finden Sie das Anfrageprotokoll für die Aktualisierung eines Diagramms aus Google Tabellen:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "refreshSheetsChart": {
        "objectId": PRESENTATION_CHART_ID
      }
    }
  ]
}