Elementvorgänge

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:

Schemaergebnis für Aufzählungsliste.

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:

Kopieren und bearbeiten Sie ein Elementschemaergebnis.

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:

Rezeptergebnis aus Bildern und Videos.

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:

Ergebnis des Schemas der Gliederung bearbeiten.

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:

Rezeptergebnis im Textformat bearbeiten.

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