Mise en œuvre: commentaires

La méthode comments.markAsSpam n'est plus prise en charge.

Les exemples suivants montrent comment utiliser l'API YouTube Data (v3) pour exécuter des fonctions liées aux commentaires.

Récupérer des commentaires sur une vidéo

Pour récupérer la liste des fils de commentaires d'une vidéo, appelez la méthode commentThreads.list. Définissez les valeurs de paramètre suivantes dans votre requête:

  • part: définissez la valeur du paramètre sur snippet si vous souhaitez uniquement récupérer les commentaires de premier niveau ou sur snippet,replies si vous souhaitez également récupérer les réponses aux commentaires de premier niveau. Notez qu'une ressource commentThread ne contient pas nécessairement toutes les réponses à un commentaire. Vous devez donc utiliser la méthode comments.list si vous souhaitez récupérer toutes les réponses à un commentaire particulier.

  • videoId: indiquez l'ID YouTube de la vidéo pour laquelle vous souhaitez récupérer des commentaires.

La requête ci-dessous permet de récupérer les commentaires et les réponses concernant la vidéo du discours d'ouverture de la conférence Google I/O de 2014, dont l'ID vidéo est wtLJPvx7-ys.

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

Récupérer les commentaires sur une chaîne ou associés à celle-ci

L'API permet de récupérer les fils de commentaires d'une chaîne ou tous les fils de commentaires associés à une chaîne. Dans ce dernier cas, l'API peut contenir des commentaires sur la chaîne ou sur n'importe quelle vidéo de la chaîne.

La requête ci-dessous récupère tous les fils de commentaires associés à la chaîne YouTube GoogleDevelopers:

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

Ajout d'un commentaire…

Appelez la méthode commentThreads.insert pour ajouter un nouveau commentaire de premier niveau à une chaîne ou à une vidéo. Définissez la valeur du paramètre part de la requête sur snippet. Le corps de la requête est un commentThread resource dans lequel la propriété snippet.topLevelComment[].snippet[].textOriginal contient le texte du commentaire. Cette requête doit être autorisée à l'aide du protocole OAuth 2.0.

  • Pour ajouter un commentaire à une chaîne, utilisez la propriété snippet.channelId afin de l'identifier.
  • Pour ajouter un commentaire à une vidéo, utilisez la propriété snippet.channelId afin d'identifier la chaîne sur laquelle la vidéo a été mise en ligne. Utilisez également la propriété snippet.videoId pour identifier la vidéo.

L'exemple de requête suivant permet d'ajouter un commentaire à une vidéo.

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

La requête insère la ressource illustrée ci-dessous.

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

Répondre à un commentaire

Appelez la méthode comments.insert pour répondre à un commentaire. Définissez la valeur du paramètre part de la requête sur snippet. Le corps de la requête est un comment resource dans lequel la propriété snippet.textOriginal contient le texte du commentaire. La propriété snippet.parentId identifie le commentaire associé à la réponse, et sa valeur est commentThread resource's ID. Cette requête doit être autorisée à l'aide du protocole OAuth 2.0.

L'exemple de requête suivant ajoute une réponse à un commentaire existant.

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

La requête insère la ressource illustrée ci-dessous. Pour exécuter la requête dans APIs Explorer, utilisez la valeur de la propriété snippet.parentId pour identifier le commentaire de premier niveau associé à la réponse. Dans une ressource commentThread, la propriété snippet.topLevelComment[].id spécifie l'identifiant unique de la ressource.

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

Modifier un commentaire de premier niveau ou une réponse à un commentaire

Pour modifier le texte d'un commentaire de premier niveau ou une réponse à un commentaire de premier niveau, appelez la méthode comments.update. Définissez la valeur du paramètre part sur snippet. Dans le corps de la requête, la propriété id identifie le commentaire que vous modifiez et le nouveau texte du commentaire.

  • Dans une ressource commentThread, qui identifie un commentaire de premier niveau, la propriété snippet.topLevelComment[].id spécifie l'identifiant unique du commentaire.
  • Dans une ressource comment, qui peut identifier un commentaire de premier niveau ou une réponse à un commentaire, la propriété id spécifie l'identifiant unique du commentaire.

L'exemple de requête ci-dessous met à jour le texte d'un commentaire existant.

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

Le corps de la requête contient l'extrait de code JSON présenté ci-dessous. Pour exécuter la requête dans APIs Explorer, définissez la valeur de la propriété id afin d'identifier le commentaire que vous mettez à jour. La demande doit être autorisée par l'auteur du commentaire.

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

Définir l'état de modération d'un commentaire

Pour définir l'état de modération d'un commentaire, appelez la méthode comments.setModerationStatus. Cette action sert lorsqu'un propriétaire de chaîne modère des commentaires sur sa chaîne ou ses vidéos.

Lorsque vous appelez cette méthode, définissez la valeur du paramètre id pour identifier le commentaire. Définissez également le paramètre moderationStatus sur l'état souhaité. Seul le propriétaire de la chaîne sur laquelle le commentaire apparaît.

  • Étape 1: Récupérer les commentaires en cours d'examen

    Appelez la méthode commentThreads.list pour récupérer les commentaires sur la chaîne ou la vidéo. Définissez la valeur du paramètre moderationStatus sur heldForReview. La réponse de l'API peut servir à afficher une liste de commentaires, avec la possibilité pour le propriétaire de la chaîne de les publier ou de les refuser.

  • Étape 2: Modifiez l'état de modération d'un commentaire

    Appelez la méthode comments.setModerationStatus pour mettre à jour l'état du commentaire. Utilisez la valeur du paramètre id pour spécifier l'identifiant unique du commentaire. Définissez le paramètre moderationStatus sur published ou rejected. Si vous refusez un commentaire, vous pouvez également définir le paramètre banAuthor sur true pour empêcher l'auteur d'ajouter des commentaires sur la chaîne ou la vidéo.

Remarque:L'API ne permet pas de répertorier ni de découvrir les commentaires refusés. Toutefois, vous pouvez toujours définir l'état de modération d'un commentaire refusé sur published si l'identifiant unique du commentaire est connu. En outre, une fois que l'état de modération d'un commentaire est défini sur published ou rejected, il ne peut plus être redéfini sur heldForReview.

Supprimer un commentaire

Cet exemple montre comment supprimer un commentaire. L'exemple comprend les étapes suivantes:

  • Étape 1: Récupérez l'ID du commentaire

    Suivez les étapes ci-dessus pour récupérer la liste des commentaires d'une vidéo ou d'une chaîne. N'oubliez pas qu'un commentaire ne peut être supprimé que par son auteur. Par conséquent, vous devez comparer la valeur de la propriété snippet.authorChannelId.value d'une ressource comment à l'ID de chaîne de l'utilisateur authentifié pour déterminer si celui-ci peut supprimer ce commentaire.

  • Étape 2: Supprimez le commentaire ou le fil de commentaires

    Une fois que vous avez identifié l'ID du fil de commentaires ou du commentaire à supprimer, appelez la méthode comments.delete pour supprimer ce commentaire. Utilisez la valeur du paramètre id pour identifier l'ID du commentaire ou l'ID du fil de commentaires que vous souhaitez supprimer. La requête doit être autorisée à l'aide du protocole OAuth 2.0. Si vous testez cette requête dans APIs Explorer, vous devez remplacer la valeur du paramètre id par un ID de commentaire ou un ID de fil de commentaires valide dans la requête ci-dessous.

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