Elementvorgänge

Mit der Google Slides API können Sie eine PageElement Ressource erstellen und bearbeiten, einschließlich Textfelder, Bilder, Tabellen, einfache Formen, Linien und eingebettete Videos. Die Beispiele auf dieser Seite zeigen einige häufige Vorgänge für Seitenelemente mit der presentations.batchUpdate Methode.

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 ID des Seitenobjekts angeben. Sie können den Wert dafür aus der URL oder mit einer API-Leseanfrage abrufen.
  • PAGE_ELEMENT_ID: Gibt an, wo Sie die Seite elementobjekt-ID 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 in den folgenden Anleitungen:

Textfeld eine Aufzählungsliste hinzufügen

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der Methode InsertTextRequest Text in ein leeres Textfeld einfügen, das durch die PAGE_ELEMENT_IDangegeben wird. Im Beispiel wird dann die CreateParagraphBulletsRequest Methode verwendet, um den gesamten Text im Textfeld in eine Aufzählungsliste umzuwandeln. Elemente in der Liste werden durch \n-Zeichen getrennt, während der Einzug mit \t-Zeichen gesteuert wird.

Das folgende Protokoll zeigt die Anfrage zum Erstellen 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 wie diese erstellt werden:

Beispiel für eine Aufzählungsliste

Folie eine Form hinzufügen

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

Das folgende Protokoll zeigt die Anfrage 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
      }
    }
  ]
}

Folie ein Video hinzufügen

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

Das folgende Protokoll zeigt die Anfrage 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
      }
    }
  ]
}

Element kopieren und bearbeiten

Das folgende presentations.batchUpdate -Codebeispiel zeigt, wie Sie mit der Methode DuplicateObjectRequest eine vorhandene Form (angegeben durch die PAGE_ELEMENT_ID) kopieren (angegeben durch die COPY_ELEMENT_ID).

Mit den nachfolgenden Anfragen werden dann die folgenden Änderungen am duplizierten Objekt vorgenommen:

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

In den Anfragen hier werden Feldmasken verwendet, um die Formeigenschaften beizubehalten, die nicht geändert werden (z. B. den Umrissstil). Die Verwendung von Feldmasken verbessert auch die Leistung.

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

Das folgende Protokoll zeigt die Anfrage 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önnen eine Form und ihre Kopie nach diesen Aktualisierungen aussehen:

Kopieren und bearbeiten Sie ein Beispielergebnis für ein Element.

Umriss eines Bildes oder Videos bearbeiten

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der UpdateImagePropertiesRequest Methode das Aussehen des Umrisses eines Bildes aktualisieren, das durch die IMAGE_ELEMENT_IDangegeben wird. Außerdem wird die UpdateVideoPropertiesRequest Methode verwendet, um das Aussehen des Umrisses eines eingebetteten Videos zu aktualisieren, das durch die VIDEO_ELEMENT_IDangegeben wird.

Mit den Anfragen werden die folgenden Änderungen am Objekt vorgenommen:

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

Mit den Methoden UpdateImagePropertiesRequest und UpdateVideoPropertiesRequest kann nur das Aussehen von Bild- und Video-Umrissen geändert werden. Alle anderen Attribute sind schreibgeschützt. In den Anfragen hier werden Feldmasken verwendet, 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 Protokoll zeigt die Anfrage zum Bearbeiten des Umrisses 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"
            }
          }
        }
      }
    }
  ]
}

So können ein Bild und ein eingebettetes Video nach diesen Aktualisierungen aussehen:

Beispiel für ein Ergebnis mit Bild- und Videoübersicht.

Umriss einer Form bearbeiten

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der UpdateShapePropertiesRequest Methode eine vorhandene Form (angegeben durch die PAGE_ELEMENT_ID) bearbeiten und das Aussehen des Umrisses aktualisieren.

Mit den Anfragen werden die folgenden Änderungen am Objekt vorgenommen:

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

In den Anfragen hier werden Feldmasken verwendet, um die Formeigenschaften beizubehalten, die nicht geändert werden (z. B. die Füllfarbe der Form). Die Verwendung von Feldmasken verbessert auch die Leistung.

Das folgende Protokoll zeigt die Anfrage zum Bearbeiten des Umrisses einer Form:

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 kann eine Form nach diesen Aktualisierungen aussehen:

Beispielergebnis für die Gliederung bearbeiten

Text in einer Form oder einem Textfeld formatieren

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der UpdateTextStyleRequest Methode eine vorhandene Form (angegeben durch die PAGE_ELEMENT_ID) bearbeiten und das Aussehen des Texts aktualisieren.

Mit den Anfragen werden die folgenden Änderungen am Objekt vorgenommen:

  • Die Textfarbe wird auf die Designfarbe ACCENT5 festgelegt.
  • Die Schriftart wird auf 18 pt Corsiva in fett und kursiv festgelegt.
  • Der Text wird unterstrichen.

In den Anfragen hier werden Feldmasken verwendet, um die Textstileigenschaften beizubehalten, die nicht geändert werden (z. B. die Hintergrundfarbe, Links oder Baseline-Offsets). Die Verwendung von Feldmasken verbessert auch die Leistung.

Das folgende Protokoll zeigt die Anfrage 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 kann der Text in der Form nach diesen Aktualisierungen aussehen:

Beispiel für das Bearbeiten des Textformats.
Ergebnis.

Diagramm aus Google Sheets importieren

Das folgende presentations.batchUpdate -Codebeispiel zeigt, wie Sie mit der Methode CreateSheetsChartRequest ein Diagramm aus einem Tabellenblatt importieren und auf einer Folie platzieren, die durch die PAGE_IDangegeben wird.

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

Außerdem wird der LinkingMode des Slides-Diagramms auf LINKED festgelegt, damit Sie das eingebettete Diagramm aktualisieren können, wenn das Diagramm in der Quelltabelle aktualisiert wird.

Das folgende Protokoll zeigt die Anfrage zum Importieren eines Diagramms aus Google Sheets:

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

Diagramm aus Google Sheets aktualisieren

Das folgende presentations.batchUpdate Codebeispiel zeigt, wie Sie mit der RefreshSheetsChartRequest Methode ein verknüpftes Diagramm in einer Präsentation aktualisieren und durch die neueste Version dieses Diagramms aus der Quelltabelle in Google Sheets ersetzen. Für die Anfrage ist die Diagramm-ID in der Slides-Präsentation erforderlich (angegeben durch die PRESENTATION_CHART_ID).

Das folgende Protokoll zeigt die Anfrage zum Aktualisieren eines Diagramms aus Google Sheets:

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