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 comosnippet
se você quiser recuperar apenas comentários de nível superior ou comosnippet,replies
se quiser recuperar também as respostas a comentários de nível superior. Um recursocommentThread
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étodocomments.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.
- Para recuperar comentários sobre um canal, siga as instruções para recuperar comentários de um vídeo. No entanto, em vez de definir o parâmetro
videoId
, defina o parâmetrochannelId
para identificar o canal. - Para recuperar comentários associados a um canal, siga as instruções para recuperar comentários de um vídeo. No entanto, em vez de definir o parâmetro
videoId
, defina o parâmetroallThreadsRelatedToChannelId
para identificar o 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 propriedadesnippet.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 propriedadesnippet.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 propriedadeid
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âmetromoderationStatus
comoheldForReview
. 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âmetroid
para especificar o ID exclusivo do comentário. Defina o parâmetromoderationStatus
comopublished
ourejected
. Se você estiver rejeitando um comentário, também é possível definir o parâmetrobanAuthor
comotrue
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 recursocomment
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âmetroid
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âmetroid
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