In Google Präsentationen können Nutzer zusammenarbeiten, indem sie Folien und Seitenelementen Kommentare hinzufügen.
In diesem Dokument wird beschrieben, wie Sie mit der Google Slides API Kommentare programmatisch lesen, erstellen, beantworten, aktualisieren oder löschen können.
Kommentare lesen
Wenn Sie die
get Methode für die
presentations
Ressource verwenden, um eine Präsentation abzurufen, werden Kommentarthreads und Anker standardmäßig ausgelassen.
Wenn Sie Kommentare in die Antwort einbeziehen möchten, setzen Sie den
commentsViewMode
Abfrageparameter auf
COMMENTS_VIEW_MODE_INCLUDED.
Wenn der aufrufende Nutzer außerdem Zugriff auf Kommentare in der Datei hat, werden auch Kommentare zurückgegeben, wenn Sie den Abfrageparameter auf COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS setzen.
Sowohl die
comments
als auch die
commentAnchors
Felder werden in der Antwort zurückgegeben.
Das folgende Codebeispiel zeigt, wie Sie eine get-Anfrage verwenden, um Kommentarthreads und ihre Anker aus einer Präsentation abzurufen:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=presentationId,comments,slides(objectId,commentAnchors)
In der Antwort werden Kommentare an zwei Stellen zurückgegeben:
- Das globale
commentsArray mit denCommentThreadObjekten. - Das
commentAnchorsArray mitCommentAnchorObjekten, die Kommentaranker-IDs Seiten- oder Seitenelementpositionen (Objektanker) zuordnen.
Kommentare auf einer bestimmten Seite lesen
Sie können Kommentare und Anker auch für eine bestimmte Seite abrufen. Verwenden Sie dazu die
pages.get Methode für die
presentations.pages Ressource.
Setzen Sie den Abfrageparameter commentsViewMode, um Kommentare für das spezifische Seitenziel einzubeziehen:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=objectId,comments,commentAnchors
Beispielantwort
Die folgende JSON-Beispielantwort zeigt einen Kommentarthread, der an einen Textbereich in einer Form auf einer Folie verankert ist:
{
"presentationId": "PRESENTATION_ID",
"slides": [
{
"objectId": "SLIDE_PAGE_ID",
"commentAnchors": [
{
"anchorId": "ANCHOR_ID",
"objectAnchors": [
{
"objectId": "SHAPE_OBJECT_ID",
"shapeTextAnchors": {
"ranges": [
{
"startIndex": 0,
"endIndex": 12
}
]
}
}
]
}
]
}
],
"comments": [
{
"commentId": "COMMENT_ID",
"anchorId": "ANCHOR_ID",
"headPost": {
"postId": "POST_ID",
"content": "This is a comment thread head post.",
"contentHtml": "The content of the post as HTML.",
"author": {
"displayName": "DISPLAY_NAME",
"me": true,
"user": "users/USER"
},
"createTime": "2026-07-01T10:13:12Z",
"updateTime": "2026-07-01T10:13:12Z"
},
"replies": [
{
"postId": "REPLY_POST_ID",
"content": "This is a reply to the comment.",
"author": {
"displayName": "DISPLAY_NAME",
"me": false
},
"createTime": "2026-07-01T10:15:00Z",
"updateTime": "2026-07-01T10:15:00Z"
}
],
"status": "OPEN"
}
],
"commentsViewMode": "COMMENTS_VIEW_MODE_INCLUDED"
}
Kommentare erstellen und verwalten
Mit der Methode
batchUpdate
für die Ressource
presentations
können Sie Kommentare oder Antworten programmatisch hinzufügen, bearbeiten und löschen.
Bei Batch-Aktualisierungen mit Kommentaren sollten Sie auf mögliche Teilausfälle achten. Weitere Informationen finden Sie unter Status der Kommentaraktualisierung.
Kommentar einfügen
Verwenden Sie das
InsertCommentRequest
Objekt, um einen Kommentarthread in eine Präsentation einzufügen. Sie müssen den Kommentartext und die Ankerposition angeben. Die Ankerposition muss eine der folgenden Optionen angeben:
objectId: Die Objekt-ID einer Folie oder eines Seitenelements (z. B. einer Form oder Tabelle), an dem der Kommentar verankert werden soll.shapeTextAnchor: Verankert einen Kommentar an einem Textbereich in einer Form.tableCellTextAnchor: Verankert einen Kommentar an einem Textbereich in einer Tabellenzelle.tableAnchor: Verankert einen Kommentar an einem Zellbereich in einer Tabelle.
Das folgende JSON-Beispiel zeigt, wie Sie einen Kommentarthread hinzufügen, der an einer Folie verankert ist:
{
"requests": [
{
"insertComment": {
"content": "This is a comment added using the API.",
"objectId": "SLIDE_PAGE_ID"
}
}
]
}
Sie können einen Kommentar einem bestimmten Nutzer zuweisen, indem Sie seine E-Mail-Adresse im
assigneeEmailAddress
Feld angeben:
{
"requests": [
{
"insertComment": {
"content": "Please review this slide.",
"assigneeEmailAddress": "ASSIGNEE_EMAIL_ADDRESS",
"objectId": "SLIDE_PAGE_ID"
}
}
]
}
Antwort hinzufügen oder Aktion ausführen
Verwenden Sie das
AddCommentReplyRequest
Objekt, um auf einen Kommentarthread zu antworten, ihn zu schließen oder wieder zu öffnen.
Sie müssen die
commentId
und die
post
angeben, wobei die Antwort durch ein
Post Objekt dargestellt wird.
Das Post Objekt enthält den Antworttext content und kann optional eine
commentAction
(einschließlich der Aktion zum RESOLVE oder REOPEN des Kommentarthreads) angeben. Sie wird durch ein
ein
CommentActionType
Objekt dargestellt.
Sie können einen Kommentarthread auch neu zuweisen, indem Sie im Post-Objekt eine neue assigneeEmail angeben.
Das folgende JSON-Beispiel zeigt, wie Sie auf einen vorhandenen Kommentarthread antworten:
{
"requests": [
{
"addCommentReply": {
"commentId": "COMMENT_ID",
"post": {
"content": "Replying to the comment thread."
}
}
}
]
}
Das folgende JSON-Beispiel zeigt, wie Sie einen Kommentarthread schließen:
{
"requests": [
{
"addCommentReply": {
"commentId": "COMMENT_ID",
"post": {
"commentAction": "RESOLVE"
}
}
}
]
}
Posts bearbeiten
Verwenden Sie das
UpdateCommentPostRequest
Objekt, um den Text eines von Ihnen erstellten Posts zu bearbeiten. Sie müssen die commentId des Threads, die postId des Posts
den Sie bearbeiten möchten, und den neuen Nur-Text
content angeben.
Das folgende JSON-Beispiel zeigt, wie Sie einen Post bearbeiten:
{
"requests": [
{
"updateCommentPost": {
"commentId": "COMMENT_ID",
"postId": "POST_ID",
"content": "This is the updated comment text."
}
}
]
}
Kommentare und Antworten löschen
Sie haben zwei Möglichkeiten, Kommentare und Antworten zu löschen:
Kommentarthread löschen: Verwenden Sie das
DeleteCommentRequestObjekt, um einen gesamtenCommentThreadzu entfernen. Sie können einen Kommentarthread nur löschen, wenn Sie der Autor des ThreadsheadPostimCommentThreadObjekt sind.Antwort löschen: Verwenden Sie das
DeleteCommentReplyRequestObjekt, um einen bestimmten Antwort-Postaus einemCommentThreadzu löschen. Sie können nur Antworten löschen, die Sie selbst verfasst haben. Antwort-Posts, die einecommentActionoder eineassigneeEmailenthalten, können nicht gelöscht werden.
Das folgende JSON-Beispiel zeigt, wie Sie einen Kommentarthread löschen:
{
"requests": [
{
"deleteComment": {
"commentId": "COMMENT_ID"
}
}
]
}
Status der Kommentaraktualisierung
Bei Anfragen, bei denen Kommentarthreads gespeichert werden müssen (z. B. beim Einfügen von Kommentaren oder Hinzufügen von Antworten), kann es zu Teilausfällen kommen. In diesen Fällen werden die Änderungen am Präsentationsmodell (z. B. Aktualisieren von Folieninhalten oder Hintergründen) möglicherweise erfolgreich übernommen, die zugehörigen Kommentare können aber nicht gespeichert werden.
Sie können prüfen, ob Kommentaraktualisierungen erfolgreich angewendet wurden. Prüfen Sie dazu das
commentUpdateState
Feld im Antworttext der presentations.batchUpdate Methode. Das Feld
wird durch ein
CommentUpdateState
Objekt dargestellt.
Die folgenden Status werden in CommentUpdateState zurückgegeben:
NO_UPDATES_REQUESTED: Im Batchvorgang wurden keine Kommentaraktualisierungen angefordert.ALL_SAVED: Alle angeforderten Kommentaraktualisierungen wurden erfolgreich angewendet.ALL_FAILED_UNKNOWN_REASON: Alle angeforderten Kommentaraktualisierungen konnten nicht gespeichert werden, obwohl andere Änderungen an der Präsentation möglicherweise übernommen wurden.