Implementação: comentários

O método comments.markAsSpam não é mais compatível.

Os exemplos a seguir mostram como usar a API Data do YouTube (v3) para realizar funções relacionadas a comentários.

Extrair comentários de um vídeo

Para recuperar uma lista de conversas de comentários de um vídeo, chame o método commentThreads.list. Defina os seguintes valores de parâmetro na solicitação:

  • part: defina o valor do parâmetro como snippet se você quiser recuperar apenas comentários de nível superior ou como snippet,replies se quiser recuperar também as respostas a comentários de nível superior. Um recurso commentThread não contém necessariamente todas as respostas a um comentário. Para recuperar todas as respostas de um comentário específico, use o método comments.list.

  • videoId: especifique o ID do vídeo do YouTube que você quer recuperar os comentários.

A solicitação abaixo recupera comentários e respostas relacionadas ao vídeo da palestra de abertura da conferência Google I/O de 2014, que tem o ID wtLJPvx7-ys.

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

Recuperar comentários sobre ou associados a um canal

A API oferece suporte à recuperação de conversas sobre um canal ou de todas as conversas associadas a ele. Nesse último caso, a API pode conter comentários sobre o canal ou sobre qualquer um dos vídeos do canal.

A solicitação abaixo recupera todas as conversas de comentários associadas ao canal GoogleDevelopers do YouTube:

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

Adicionando um comentário

Chame o método commentThreads.insert para adicionar um novo comentário de nível superior a um canal ou vídeo. Defina o valor do parâmetro part da solicitação como snippet. O corpo da solicitação é um commentThread resource em que a propriedade snippet.topLevelComment[].snippet[].textOriginal contém o texto do comentário. Essa solicitação precisa ser autorizada usando o OAuth 2.0.

  • Para adicionar um comentário a um canal, use a propriedade snippet.channelId para identificar o canal.
  • Para adicionar um comentário a um vídeo, use a propriedade snippet.channelId para identificar o canal que fez o upload do vídeo. Use também a propriedade snippet.videoId para identificar o vídeo.

O exemplo de solicitação a seguir adiciona um comentário a um vídeo.

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

A solicitação insere o recurso mostrado abaixo.

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

Responder a um comentário

Chame o método comments.insert para responder a um comentário. Defina o valor do parâmetro part da solicitação como snippet. O corpo da solicitação é um comment resource em que a propriedade snippet.textOriginal contém o texto do comentário. A propriedade snippet.parentId identifica o comentário associado à resposta e tem como valor um commentThread resource's ID. Essa solicitação precisa ser autorizada usando o OAuth 2.0.

O exemplo de solicitação a seguir adiciona uma resposta a um comentário existente.

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

A solicitação insere o recurso mostrado abaixo. Para executar a solicitação no APIs Explorer, use o valor da propriedade snippet.parentId para identificar o comentário de nível superior associado à resposta. Em um recurso commentThread, a propriedade snippet.topLevelComment[].id especifica o ID exclusivo do recurso.

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

Atualizar um comentário ou uma resposta a um comentário de nível superior

Para atualizar o texto de um comentário de nível superior ou de uma resposta a um comentário de nível superior, chame o método comments.update. Defina o valor do parâmetro part como snippet. No corpo da solicitação, a propriedade id identifica o comentário que você está modificando e o novo texto do comentário.

  • Em um recurso commentThread, que identifica um comentário de nível superior, a propriedade snippet.topLevelComment[].id especifica o ID exclusivo do comentário.
  • Em um recurso comment, que pode identificar um comentário de nível superior ou uma resposta a um comentário, a propriedade id especifica o ID exclusivo do comentário.

A solicitação de exemplo abaixo atualiza o texto de um comentário.

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

O corpo da solicitação contém o snippet JSON mostrado abaixo. Para executar a solicitação no APIs Explorer, defina o valor da propriedade id para identificar o comentário que você está atualizando. A solicitação precisa ser autorizada pelo autor do comentário.

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

Definir o status de moderação de um comentário

Para definir o status de moderação de um comentário, chame o método comments.setModerationStatus. Essa ação é usada quando um proprietário do canal modera comentários no canal ou nos vídeos dele.

Ao chamar esse método, defina o valor do parâmetro id para identificar o comentário. Defina também o parâmetro moderationStatus como o status desejado. O status de um comentário só pode ser ajustado pelo proprietário do canal em que ele aparece.

  • Etapa 1: recuperar comentários retidos para análise

    Chame o método commentThreads.list para recuperar os comentários do canal ou vídeo. Defina o valor do parâmetro moderationStatus como heldForReview. A resposta da API pode ser usada para mostrar uma lista de comentários com uma opção para o proprietário do canal publicar ou rejeitar cada um deles.

  • Etapa 2: atualizar o status de moderação de um comentário

    Chame o método comments.setModerationStatus para atualizar o status do comentário. Use o valor do parâmetro id para especificar o ID exclusivo do comentário. Defina o parâmetro moderationStatus como published ou rejected. Se você estiver rejeitando um comentário, também é possível definir o parâmetro banAuthor como true para impedir que o autor faça outros comentários no canal ou vídeo.

Observação:a API não oferece uma maneira de listar ou descobrir comentários rejeitados. No entanto, ainda é possível mudar o status de moderação de um comentário rejeitado para published se o ID exclusivo dele for conhecido. Além disso, depois que o status de moderação de um comentário for atualizado para published ou rejected, ele não poderá ser alterado de volta para heldForReview.

Remover um comentário

Este exemplo mostra como excluir um comentário. O exemplo tem as seguintes etapas:

  • Etapa 1: extrair o ID do comentário

    Siga as etapas acima para extrair uma lista de comentários de um vídeo ou canal. Lembre-se de que um comentário só pode ser excluído pelo autor. Portanto, você precisa comparar o valor da propriedade snippet.authorChannelId.value de um recurso comment com o ID do canal do usuário autenticado para determinar se o usuário pode excluir esse comentário específico.

  • Etapa 2: excluir o comentário ou a conversa

    Depois de identificar o ID da conversa ou do comentário que você está excluindo, chame o método comments.delete para excluir o comentário. Use o valor do parâmetro id para identificar o ID do comentário ou da linha de comentários que você está excluindo. A solicitação precisa ser autorizada usando o OAuth 2.0. Se você estiver testando essa consulta no APIs Explorer, substitua o valor do parâmetro id por um ID de comentário ou de linha de comentários válido na solicitação abaixo.

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