Implementierung: Kommentare

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

Die folgenden Beispiele zeigen, wie die YouTube Data API (Version 3) verwendet wird, um Funktionen im Zusammenhang mit Kommentaren auszuführen.

Kommentare zu einem Video abrufen

Wenn Sie eine Liste von Kommentarthreads für ein Video abrufen möchten, rufen Sie die Methode commentThreads.list auf. Legen Sie in Ihrer Anfrage die folgenden Parameterwerte fest:

  • part: Setzen Sie den Parameterwert auf snippet, 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. (Beachten Sie, dass eine commentThread-Ressource nicht unbedingt alle Antworten auf einen Kommentar enthält. Sie müssen die comments.list-Methode verwenden, wenn Sie alle Antworten für einen bestimmten Kommentar abrufen möchten.)

  • videoId: Gib die YouTube-Video-ID des Videos an, für das du Kommentare abrufen möchtest.

Mit der folgenden Anfrage werden Kommentare und Antworten auf Kommentare zum Video der Keynote-Rede auf der Google I/O-Konferenz 2014 abgerufen. Die Video-ID lautet wtLJPvx7-ys.

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

Kommentare zu einem Kanal oder zu einem Kanal abrufen

Die API unterstützt das Abrufen von Kommentar-Threads zu einem Kanal oder alle Kommentar-Threads, die mit einem Kanal verknüpft sind. In letzterem Fall könnte die API Kommentare zum Kanal oder zu beliebigen 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 einem Video einen neuen Kommentar auf oberster Ebene hinzuzufügen. Setzen Sie den part-Parameterwert der Anfrage auf snippet. Der Text der Anfrage 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 du einem Kanal einen Kommentar hinzufügen möchtest, identifiziere den Kanal mithilfe der snippet.channelId-Property.
  • Wenn du einem Video einen Kommentar hinzufügen möchtest, identifiziere mithilfe der snippet.channelId-Property den Kanal, auf dem das Video hochgeladen wurde. Verwende auch die Property snippet.videoId, um das Video zu identifizieren.

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

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

Die Anfrage fügt die unten gezeigte Ressource ein.

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

Auf Kommentare antworten

Rufen Sie die Methode comments.insert auf, um auf einen Kommentar zu antworten. Setzen Sie den part-Parameterwert der Anfrage auf snippet. Der Text der Anfrage ist ein comment resource, in dem das Attribut snippet.textOriginal den Kommentartext enthält. Die snippet.parentId-Eigenschaft gibt den mit der Antwort verknüpften Kommentar an und hat den Wert commentThread resource's ID. Diese Anfrage muss mit OAuth 2.0 autorisiert werden.

In der folgenden Beispielanfrage wird eine Antwort zu einem vorhandenen Kommentar hinzugefügt.

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

Die Anfrage fügt die unten gezeigte Ressource ein. Verwenden Sie zum Ausführen der Anfrage im APIs Explorer den Wert des Attributs snippet.parentId, um den mit der Antwort verknüpften Kommentar auf oberster Ebene zu identifizieren. In einer commentThread-Ressource gibt das Attribut snippet.topLevelComment[].id die eindeutige ID der Ressource an.

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

Kommentare oder Antworten auf oberster Ebene aktualisieren

Um den Text eines Kommentars auf oberster Ebene oder einer Antwort auf einen Kommentar auf oberster Ebene zu aktualisieren, rufen Sie die Methode comments.update auf. Legen Sie den Wert des Parameters part auf snippet fest. Im Anfragetext gibt das Attribut id den Kommentar, den Sie ändern, sowie den neuen Kommentartext an.

  • In einer commentThread-Ressource, die einen Kommentar auf oberster 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 die id-Eigenschaft 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 gezeigte JSON-Snippet. Legen Sie zum Ausführen der Anfrage im APIs Explorer den Wert des Attributs id so fest, dass der zu aktualisierende Kommentar identifiziert wird. Die Anfrage muss vom Verfasser des Kommentars autorisiert werden.

{
  "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 zum Kanal oder zu den Videos des Kanals moderiert.

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

  • 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 den Wert des Parameters moderationStatus auf heldForReview fest. Die API-Antwort könnte verwendet werden, um eine Liste von Kommentaren anzuzeigen, wobei der Kanalinhaber die Option auswählen kann, jeden einzelnen Kommentar zu veröffentlichen oder abzulehnen.

  • Schritt 2: Moderationsstatus eines Kommentars aktualisieren

    Rufen Sie 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 setzen, um zu verhindern, dass der Autor weitere Kommentare zum Kanal oder Video postet.

Hinweis:Die API bietet keine Möglichkeit, abgelehnte Kommentare aufzulisten oder zu ermitteln. Du kannst jedoch den Moderationsstatus eines abgelehnten Kommentars zu published ändern, wenn die eindeutige ID des Kommentars bekannt ist. Sobald der Moderationsstatus eines Kommentars auf published oder rejected aktualisiert wird, kann er nicht mehr zurück zu heldForReview geändert werden.

Kommentare entfernen

In diesem Beispiel wird gezeigt, wie Sie einen Kommentar löschen. Das Beispiel umfasst die folgenden Schritte:

  • Schritt 1: Kommentar-ID abrufen

    Gehe wie oben beschrieben vor, 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 des Attributs snippet.authorChannelId.value einer comment-Ressource mit der Kanal-ID des authentifizierten Nutzers vergleichen, um festzustellen, ob der Nutzer diesen bestimmten Kommentar löschen kann.

  • Schritt 2: Kommentar oder Kommentarthread löschen

    Nachdem Sie die ID des zu löschenden Kommentarthreads oder Kommentars ermittelt haben, rufen Sie die Methode comments.delete auf, um den Kommentar zu löschen. Verwenden Sie den Parameterwert id, um die Kommentar-ID oder die Kommentarthread-ID anzugeben, die Sie löschen möchten. Die Anfrage muss mit OAuth 2.0 autorisiert werden. Wenn Sie diese Abfrage im APIs Explorer testen, müssen Sie den Wert des Parameters id in der folgenden Anfrage durch eine gültige Kommentar-ID oder Kommentarthread-ID ersetzen.

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