Kommentare verwalten

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 Methode get für die Ressource presentations verwenden, um eine Präsentation abzurufen, werden Kommentar-Threads und Anker standardmäßig ausgelassen.

Wenn Sie Kommentare in die Antwort einbeziehen möchten, setzen Sie den Abfrageparameter commentsViewMode auf COMMENTS_VIEW_MODE_INCLUDED. Wenn der aufrufende Nutzer außerdem Zugriff auf Kommentare für die Datei hat, werden durch Festlegen des Abfrageparameters auf COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS auch Kommentare zurückgegeben.

Sowohl das Feld comments als auch das Feld commentAnchors werden in der Antwort zurückgegeben.

Das folgende Codebeispiel zeigt, wie Sie eine get-Anfrage verwenden, mit der Kommentar-Threads und ihre Anker aus einer Präsentation abgerufen werden:

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 comments-Array mit den CommentThread-Objekten.
  • Das commentAnchors-Array mit CommentAnchor-Objekten, die Kommentaranker-IDs Seiten- oder Seitenelementpositionen (Objektanker) zuordnen.

Kommentare auf einer bestimmten Seite lesen

Sie können auch Kommentare und Anker für eine bestimmte Seite mit der Methode pages.get für die Ressource presentations.pages abrufen. Legen Sie den Abfrageparameter commentsViewMode fest, um Kommentare für das jeweilige Seitenziel einzuschließen:

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 angehängt 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.

Wenn Sie Batch-Updates mit Kommentaren durchführen, sollten Sie auf mögliche Teilausfälle achten. Weitere Informationen finden Sie unter Status von Kommentaraktualisierungen.

Kommentar einfügen

Wenn Sie einen Kommentar-Thread in eine Präsentation einfügen möchten, verwenden Sie das InsertCommentRequest-Objekt. Sie müssen den Kommentartext und die Ankerposition angeben. Für den Ankerstandort muss eine der folgenden Optionen angegeben werden:

  • 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 in einem Zellbereich in einer Tabelle.

Das folgende JSON-Beispiel zeigt, wie Sie einen Kommentarthread hinzufügen, der auf 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 Feld assigneeEmailAddress angeben:

{
  "requests": [
    {
      "insertComment": {
        "content": "Please review this slide.",
        "assigneeEmailAddress": "ASSIGNEE_EMAIL_ADDRESS",
        "objectId": "SLIDE_PAGE_ID"
      }
    }
  ]
}

Antwort hinzufügen oder Maßnahmen ergreifen

Wenn Sie auf einen Kommentar-Thread antworten, ihn schließen oder wieder öffnen möchten, verwenden Sie das Objekt AddCommentReplyRequest.

Sie müssen die commentId und die post angeben, wobei die Antwort durch ein Post-Objekt dargestellt wird.

Das Objekt Post enthält die Antwort content und kann optional eine commentAction angeben (einschließlich der Aktion zum RESOLVE oder REOPEN des Kommentarbereichs). Sie wird durch ein CommentActionType-Objekt dargestellt.

Sie können einen Kommentar-Thread auch neu zuweisen, indem Sie ein neues assigneeEmail im Post-Objekt 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 ein Kommentarthread geschlossen wird:

{
  "requests": [
    {
      "addCommentReply": {
        "commentId": "COMMENT_ID",
        "post": {
          "commentAction": "RESOLVE"
        }
      }
    }
  ]
}

Beitrag bearbeiten

Wenn Sie den Textinhalt eines von Ihnen erstellten Beitrags bearbeiten möchten, verwenden Sie das Objekt UpdateCommentPostRequest. Sie müssen die commentId des Threads, die postId des Beitrags, den Sie bearbeiten möchten, und den neuen Nur-Text content angeben.

Das folgende JSON-Beispiel zeigt, wie Sie einen Beitrag bearbeiten:

{
  "requests": [
    {
      "updateCommentPost": {
        "commentId": "COMMENT_ID",
        "postId": "POST_ID",
        "content": "This is the updated comment text."
      }
    }
  ]
}

Kommentare und Antworten löschen

Du hast zwei Möglichkeiten, Kommentare und Antworten zu löschen:

  • Kommentar-Thread löschen:Wenn Sie einen ganzen CommentThread entfernen möchten, verwenden Sie das DeleteCommentRequest-Objekt. Sie können einen Kommentar-Thread nur löschen, wenn Sie der Autor des headPost des Threads im CommentThread-Objekt sind.

  • Antwort löschen:Wenn Sie eine bestimmte Antwort Post aus einem CommentThread löschen möchten, verwenden Sie das Objekt DeleteCommentReplyRequest. Sie können nur Antworten löschen, die Sie selbst verfasst haben. Sie können keine Antwortbeiträge löschen, die ein commentAction oder ein assigneeEmail enthalten.

Das folgende JSON-Beispiel zeigt, wie ein Kommentarthread gelöscht wird:

{
  "requests": [
    {
      "deleteComment": {
        "commentId": "COMMENT_ID"
      }
    }
  ]
}

Status der Kommentaraktualisierung

Bei Anfragen, für die Kommentar-Threads gespeichert werden müssen (z. B. beim Einfügen von Kommentaren oder Hinzufügen von Antworten), kann es zu teilweisen Fehlern 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 werden jedoch nicht gespeichert.

Sie können prüfen, ob Kommentaraktualisierungen erfolgreich angewendet wurden, indem Sie das Feld commentUpdateState im Antworttext der Methode presentations.batchUpdate prüfen. 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.