Implementação: comentários

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

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

Recuperar comentários de um vídeo

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

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

  • videoId: especifique o ID do vídeo do YouTube para o qual você está recuperando comentários.

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

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

Recuperar comentários sobre um canal ou os associados a ele

Com a API, é possível recuperar conversas de comentários sobre um canal ou todas aquelas associadas a um canal. No último caso, a API pode conter comentários sobre o canal ou sobre qualquer um dos vídeos dele.

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

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 identificá-lo.
  • Para adicionar um comentário a um vídeo, use a propriedade snippet.channelId para identificar o canal que enviou o vídeo. Além disso, use 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 o valor dela é 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 de nível superior ou uma resposta a um comentário

Para atualizar o texto de um comentário de nível superior ou 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.

  • 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.

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

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. Esta ação é usada quando o proprietário de um canal modera comentários no canal ou nos vídeos.

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

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

    Chame o método commentThreads.list para recuperar comentários do canal ou vídeo. Defina o valor do parâmetro moderationStatus como heldForReview. A resposta da API pode ser usada para exibir 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. Isso impede que o autor faça outros comentários no canal ou no vídeo.

Observação:a API não fornece uma maneira de listar ou descobrir comentários rejeitados. No entanto, você ainda pode 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 é atualizado para published ou rejected, ele não pode voltar a ser heldForReview.

Remover um comentário

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

  • Etapa 1: recuperar o ID do comentário

    Siga as etapas acima para recuperar 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, será necessário 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 esse comentário. Use o valor de parâmetro id para identificar o ID do comentário ou da conversa que você está excluindo. A solicitação precisa ser autorizada com o OAuth 2.0. Se você estiver testando essa consulta no APIs Explorer, será necessário substituir um ID de comentário ou de conversa válido pelo valor do parâmetro id na solicitação abaixo.

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