Implementierung: Kommentare

Die comments.markAsSpam-Methode wird nicht mehr unterstützt.

In den folgenden Beispielen wird gezeigt, wie du mit der YouTube Data API (Version 3) Funktionen im Zusammenhang mit Kommentaren ausführen kannst.

Kommentare zu einem Video abrufen

Rufe die Methode commentThreads.list auf, um eine Liste der Kommentarthreads für ein Video abzurufen. Legen Sie in der Anfrage die folgenden Parameterwerte fest:

  • part: Legen Sie den Parameterwert auf snippet fest, wenn Sie nur Kommentare der obersten Ebene abrufen möchten, oder auf snippet,replies, wenn Sie auch Antworten auf Kommentare der obersten Ebene abrufen möchten. Hinweis: Eine commentThread-Ressource enthält nicht unbedingt alle Antworten auf einen Kommentar. Wenn du alle Antworten für einen bestimmten Kommentar abrufen möchtest, musst du die Methode comments.list verwenden.

  • videoId: Geben Sie die YouTube-Video-ID des Videos an, für das Sie Kommentare abrufen möchten.

Mit der folgenden Anfrage werden Kommentare und Antworten auf Kommentare zum Video der Keynote-Präsentation auf der Google I/O 2014 mit der Video-ID wtLJPvx7-ys abgerufen.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&videoId=wtLJPvx7-ys

Kommentare zu einem Kanal oder Kommentare, die mit einem Kanal verknüpft sind, abrufen

Über die API kannst du entweder Kommentarthreads zu einem Kanal oder alle Kommentarthreads abrufen, die mit einem Kanal verknüpft sind. Im letzteren Fall kann die API Kommentare zum Kanal oder zu einem der Videos des Kanals enthalten.

Mit der folgenden Anfrage werden alle Kommentarthreads abgerufen, die mit dem YouTube-Kanal GoogleDevelopers verknüpft sind:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw

Kommentar hinzufügen

Rufe die Methode commentThreads.insert auf, um einem Kanal oder Video einen neuen Kommentar auf oberster Ebene hinzuzufügen. Legen Sie den Parameterwert part der Anfrage auf snippet fest. Der Anfragetext ist ein commentThread resource, in dem das Attribut snippet.topLevelComment[].snippet[].textOriginal den Kommentartext enthält. Diese Anfrage muss mit OAuth 2.0 autorisiert werden.

  • Wenn Sie einem Kanal einen Kommentar hinzufügen möchten, verwenden Sie die Property snippet.channelId, um den Kanal anzugeben.
  • Wenn du einem Video einen Kommentar hinzufügen möchtest, verwende das Attribut snippet.channelId, um den Kanal anzugeben, auf den das Video hochgeladen wurde. Verwenden Sie außerdem die Property snippet.videoId, um das Video zu identifizieren.

In der folgenden Beispielanfrage wird einem Video ein Kommentar hinzugefügt.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert?
part=snippet

Durch die Anfrage wird die unten stehende Ressource eingefügt.

{
 "snippet": {
  "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
  "topLevelComment": {
   "snippet": {
    "textOriginal": "This video is awesome!"
   }
  },
  "videoId": "MILSirUni5E"
 }
}

Auf Kommentare antworten

Rufe die Methode comments.insert auf, um auf einen Kommentar zu antworten. Legen Sie den Parameterwert part der Anfrage auf snippet fest. Der Anfragetext ist ein comment resource, in dem das Attribut snippet.textOriginal den Kommentartext enthält. Mit der snippet.parentId-Eigenschaft wird der Kommentar angegeben, der mit der Antwort verknüpft ist. Der Wert ist ein commentThread resource's ID. Diese Anfrage muss mit OAuth 2.0 autorisiert werden.

In der folgenden Beispielanfrage wird einer Antwort auf einen vorhandenen Kommentar ein weiterer Kommentar hinzugefügt.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.insert?
part=snippet

Durch die Anfrage wird die unten stehende Ressource eingefügt. Um die Anfrage im APIs Explorer auszuführen, verwenden Sie den Wert des Attributs snippet.parentId, um den Kommentar auf oberster Ebene zu ermitteln, der mit der Antwort verknüpft ist. In einer commentThread-Ressource gibt das snippet.topLevelComment[].id-Attribut die eindeutige ID der Ressource an.

{
  "snippet": {
    "parentId": "COMMENT_THREAD_ID",
    "textOriginal": "That is true."
  }
}

Einen Kommentar auf oberster Ebene oder eine Antwort auf einen Kommentar aktualisieren

Wenn Sie den Text eines Kommentars auf oberster Ebene oder einer Antwort auf einen Kommentar auf oberster Ebene aktualisieren möchten, rufen Sie die Methode comments.update auf. Legen Sie für den Parameter part den Wert snippet fest. Im Anfragetext wird mit dem Attribut id der Kommentar angegeben, den Sie ändern möchten, und der neue Kommentartext.

  • In einer commentThread-Ressource, die einen Kommentar der obersten Ebene identifiziert, gibt das Attribut snippet.topLevelComment[].id die eindeutige ID des Kommentars an.
  • In einer comment-Ressource, die entweder einen Kommentar der obersten Ebene oder eine Antwort auf einen Kommentar identifizieren kann, gibt das Attribut id die eindeutige ID des Kommentars an.

In der folgenden Beispielanfrage wird der Text eines vorhandenen Kommentars aktualisiert.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update?
part=snippet

Der Anfragetext enthält das unten stehende JSON-Snippet. Wenn Sie die Anfrage in APIs Explorer ausführen möchten, legen Sie den Wert der Property id fest, um den Kommentar anzugeben, den Sie aktualisieren möchten. Der Antrag muss vom Autor des Kommentars autorisiert sein.

{
  "id": "COMMENT_ID",
  "snippet": {
    "textOriginal": "That is true."
  }
}

Moderationsstatus eines Kommentars festlegen

Rufe die Methode comments.setModerationStatus auf, um den Moderationsstatus eines Kommentars festzulegen. Diese Aktion wird verwendet, wenn ein Kanalinhaber Kommentare zu seinem Kanal oder zu den Videos seines Kanals moderiert.

Legen Sie beim Aufrufen dieser Methode den Wert des Parameters id fest, um den Kommentar zu identifizieren. Legen Sie außerdem den Parameter moderationStatus auf den gewünschten Status fest. Der Status eines Kommentars kann nur vom Inhaber des Kanals geändert werden, auf dem der Kommentar angezeigt wird.

  • Schritt 1: Kommentare abrufen, die zur Überprüfung zurückgehalten werden

    Rufe die Methode commentThreads.list auf, um Kommentare für den Kanal oder das Video abzurufen. Legen Sie für den Parameter moderationStatus den Wert heldForReview fest. Anhand der API-Antwort kann eine Liste mit Kommentaren angezeigt werden, die der Kanalinhaber veröffentlichen oder ablehnen kann.

  • Schritt 2: Moderationsstatus eines Kommentars aktualisieren

    Rufe die Methode comments.setModerationStatus auf, um den Status des Kommentars zu aktualisieren. Verwenden Sie den Wert des Parameters id, um die eindeutige ID des Kommentars anzugeben. Legen Sie den Parameter moderationStatus auf published oder rejected fest. Wenn du einen Kommentar ablehnst, kannst du den Parameter banAuthor auch auf true festlegen, um zu verhindern, dass der Verfasser weitere Kommentare auf dem Kanal oder zum Video postet.

Hinweis:Die API bietet keine Möglichkeit, abgelehnte Kommentare aufzulisten oder anderweitig zu finden. Sie können den Moderationsstatus eines abgelehnten Kommentars jedoch weiterhin in published ändern, wenn die eindeutige ID des Kommentars bekannt ist. Außerdem kann der Moderationsstatus eines Kommentars, der zu published oder rejected aktualisiert wurde, nicht mehr in heldForReview geändert werden.

Kommentare entfernen

In diesem Beispiel wird gezeigt, wie ein Kommentar gelöscht wird. Das Beispiel umfasst die folgenden Schritte:

  • Schritt 1: Kommentar-ID abrufen

    Folge der Anleitung oben, um eine Liste der Kommentare für ein Video oder einen Kanal abzurufen. Ein Kommentar kann nur von seinem Autor gelöscht werden. Du musst also den Wert der Property snippet.authorChannelId.value einer comment-Ressource mit der Kanal-ID des authentifizierten Nutzers vergleichen, um festzustellen, ob er diesen bestimmten Kommentar löschen kann.

  • Schritt 2: Kommentar oder Kommentarstrang löschen

    Nachdem du die ID des Kommentar-Threads oder des Kommentars ermittelt hast, den du löschen möchtest, ruf die Methode comments.delete auf, um den Kommentar zu löschen. Mit dem Parameterwert id geben Sie die Kommentar- oder Kommentar-Thread-ID an, die Sie löschen möchten. Die Anfrage muss mit OAuth 2.0 autorisiert sein. Wenn Sie diese Abfrage im APIs Explorer testen, müssen Sie in der folgenden Anfrage den Parameterwert id durch eine gültige Kommentar- oder Kommentar-Thread-ID ersetzen.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete?
    id=COMMENT_ID