Implémentation: commentaires

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

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

Récupérer les commentaires d'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 niveau supérieur ou sur snippet,replies si vous souhaitez également récupérer les réponses aux commentaires de niveau supérieur. (Notez qu'une ressource commentThread ne contient pas nécessairement toutes les réponses à un commentaire. Vous devez utiliser la méthode comments.list pour récupérer toutes les réponses à un commentaire particulier.)

  • videoId: spécifiez l'ID de la vidéo YouTube pour laquelle vous récupérez les commentaires.

La requête ci-dessous récupère les commentaires et les réponses aux commentaires associés à la vidéo du discours d'ouverture de la conférence Google I/O 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 à une chaîne

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 l'une de ses vidéos.

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 commentaire de niveau supérieur à 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 d'OAuth 2.0.

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

L'exemple de requête suivant ajoute 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 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 un commentThread resource's ID. Cette requête doit être autorisée à l'aide d'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 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 niveau supérieur associé à la réponse. Dans une ressource commentThread, la propriété snippet.topLevelComment[].id spécifie l'ID 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 niveau supérieur ou d'une réponse à un commentaire de niveau supérieur, 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 niveau supérieur, la propriété snippet.topLevelComment[].id spécifie l'ID unique du commentaire.
  • Dans une ressource comment, qui peut identifier un commentaire de niveau supérieur ou une réponse à un commentaire, la propriété id spécifie l'ID 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 JSON ci-dessous. Pour exécuter la requête dans APIs Explorer, définissez la valeur de la propriété id pour identifier le commentaire que vous modifiez. 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 est utilisée lorsqu'un propriétaire de chaîne modère les commentaires sur la 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 peut modifier son état.

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

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

  • Étape 2: Modifier 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'ID 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 de publier d'autres commentaires sur la chaîne ou la vidéo.

Remarque:L'API ne permet pas de lister ni de découvrir les commentaires refusés. Toutefois, vous pouvez toujours modifier l'état de modération d'un commentaire refusé sur published si vous connaissez son ID unique. De plus, une fois que l'état de modération d'un commentaire a été défini sur published ou rejected, il ne peut plus être rétabli sur heldForReview.

Supprimer un commentaire

Cet exemple montre comment supprimer un commentaire. L'exemple se présente comme suit:

  • É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. Vous devez donc 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 l'utilisateur peut supprimer ce commentaire en particulier.

  • É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 que vous supprimez, appelez la méthode comments.delete pour supprimer ce commentaire. Utilisez la valeur du paramètre id pour identifier l'ID du commentaire ou du fil de discussion que vous supprimez. La requête doit être autorisée à l'aide d'OAuth 2.0. Si vous testez cette requête dans l'explorateur d'API, vous devez remplacer la valeur du paramètre id dans la requête ci-dessous par un ID de commentaire ou de fil de discussion valide.

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