Os comentários são feedbacks fornecidos pelo usuário sobre um arquivo, como um leitor de um documento de processamento de texto que sugere como reformular uma frase. Há dois tipos de comentários: com âncora e sem âncora. Um comentário fixado é associado a um local específico, como uma frase em um documento de processamento de texto, em uma versão específica de um documento. Por outro lado, um comentário sem âncora é apenas associado ao documento.
As respostas são anexadas aos comentários e representam a resposta de um usuário ao comentário. A API Drive permite que os usuários adicionem comentários e respostas a documentos criados pelo seu app. Coletivamente, um comentário com respostas é conhecido como uma discussão.
A configuração do parâmetro fields
é necessária para listar os campos que serão retornados na
resposta ao chamar todos os métodos listados no
recurso comments
. Se você omitir o parâmetro,
o método vai retornar um erro. Para retornar os campos exatos necessários, consulte
Retornar campos específicos.
Adicionar um comentário sem âncora
Para adicionar um comentário sem âncora a um documento, chame o método create()
com o parâmetro fileId
e um
recurso comments
que contenha o comentário.
O comentário é inserido como texto simples, mas o corpo da resposta fornece um
campo htmlContent
com conteúdo formatado para exibição.
Adicionar uma resposta a um comentário
Para adicionar uma resposta a um comentário, use o método
replies.create()
no recurso
replies
com os parâmetros fileId
e
commentId
. O corpo da solicitação usa o campo content
para adicionar a
resposta.
A resposta é inserida como texto simples, mas o corpo da resposta fornece um
campo htmlContent
com conteúdo formatado para exibição.
O método retorna os campos listados no campo fields
.
Mostrar um exemplo
Solicitação
Neste exemplo, fornecemos os parâmetros de caminho fileId
e commentId
e vários campos.
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
Corpo da solicitação
{ "content": "This is a reply to a comment." }
Resolver um comentário
Para resolver um comentário, é necessário responder a ele.
Para resolver um comentário, use o método
replies.create()
no recurso
replies
com os parâmetros fileId
e
commentId
.
O corpo da solicitação usa o campo action
para resolver o comentário. Também é possível
definir o campo content
para adicionar uma resposta que fecha o comentário.
Quando um comentário é resolvido, o Drive marca o recurso de comentário como
resolved: true
. Ao contrário dos comentários excluídos, os comentários resolvidos
podem incluir os campos htmlContent
ou content
.
Quando o app resolver um comentário, a interface precisa indicar que ele foi encaminhado. Por exemplo, o app pode:
- Não permite mais respostas e desativa todas as respostas anteriores, além do comentário original.
- Ocultar comentários resolvidos.
Mostrar um exemplo
Solicitação
Neste exemplo, fornecemos os parâmetros de caminho fileId
e commentId
e vários campos.
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
Corpo da solicitação
{ "action": "resolve", "content": "This comment has been resolved." }
Adicionar um comentário fixo à revisão mais recente de um documento
Ao adicionar um comentário, talvez você queira anexá-lo a uma região no arquivo. Uma
âncora define a revisão e a região de um arquivo a que um comentário
se refere. O recurso comments
define o campo
anchor
como uma string JSON.
Para adicionar um comentário fixado:
(Opcional). Chame o método
revisions.list()
para listar todos osrevisionID
de um documento. Siga esta etapa apenas se você quiser ancorar um comentário em qualquer revisão, exceto a mais recente. Se você quiser usar a revisão mais recente, usehead
para orevisionID
.Chame o método
create()
com o parâmetrofileID
, um recursocomments
que contenha o comentário e uma string de âncora JSON que contenha orevisionID
(r
) e a região (a
).
A forma de definir uma região depende do tipo de conteúdo do documento com que você está trabalhando. Para mais informações, consulte Definir uma região.
Definir uma região
Como mencionado anteriormente, a string de âncora JSON contém um revisionID
(r
) e
uma região (a
). A região (a
) é uma matriz JSON que contém classificadores de região
especificando o formato e o local em que um comentário está ancorado. Um classificador
pode ser um retângulo bidimensional para uma imagem, uma linha de texto em um documento
ou uma duração em um vídeo. Para definir uma região, selecione o classificador
de região correspondente ao tipo de conteúdo que você quer ancorar. Por
exemplo, se o conteúdo for texto, provavelmente você usará o classificador de região txt
ou line
.
Para conferir uma lista de classificadores de região na API Drive, consulte Classificadores de região.
O exemplo a seguir mostra uma string de âncora JSON que ancora comentários em linhas em duas áreas separadas de um documento:
- A primeira área começa na linha 12 (
'n':12
) e se estende por três linhas ('l':3
). - A segunda área cobre apenas a linha 18 (
'n':18, 'l':1
).
{
'r': 'REVISION_ID',
'a': [
{
'line':
{
'n': 12,
'l': 3,
}
},
{
'line':
{
'n': 18,
'l': 1,
}
}]
}
Substitua REVISION_ID por head
ou pelo ID de uma revisão
específica.
Receber um comentário
Para receber um comentário em um arquivo, use o método get()
no recurso comments
com os
parâmetros fileId
e commentId
. Se você não souber o ID do comentário, use o método list()
para
listar todos os comentários.
O método retorna uma instância de um recurso comments
.
Para incluir comentários excluídos nos resultados, defina o parâmetro de consulta includedDeleted
como true
.
Mostrar um exemplo
Solicitação
Neste exemplo, fornecemos os parâmetros de caminho fileId
e commentId
e vários campos.
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment,modifiedTime,resolved
Listar comentários
Para listar comentários em um arquivo, use o método list()
no recurso comments
com o
parâmetro fileId
. O método retorna uma lista de comentários.
Transmita os seguintes parâmetros de consulta para personalizar a paginação ou filtrar comentários:
includeDeleted
: defina comotrue
para incluir comentários excluídos. Os comentários excluídos não incluem os camposhtmlContent
oucontent
.pageSize
: o número máximo de comentários a serem retornados por página.pageToken
: um token de página recebido de uma chamada de lista anterior. Informe este token para recuperar a página seguinte.startModifiedTime
: o valor mínimo do campomodifiedTime
para os comentários de resultado.
Mostrar um exemplo
Solicitação
Neste exemplo, fornecemos o parâmetro de caminho fileId
, o parâmetro de consulta includeDeleted
e vários campos.
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments?includeDeleted=true&fields=(id,comment,kind,modifiedTime,resolved)
Atualizar um comentário
Para atualizar um comentário em um arquivo, use o método
update()
no recurso comments
com os parâmetros
fileId
e commentId
. O corpo da solicitação usa o campo content
para atualizar o comentário.
O método retorna os campos listados no parâmetro de consulta fields
.
Mostrar um exemplo
Solicitação
Neste exemplo, fornecemos os parâmetros de caminho fileId
e commentId
e vários campos.
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment
Corpo da solicitação
{ "content": "This comment is now updated." }
Excluir um comentário
Para excluir um comentário em um arquivo, use o método
delete()
no recurso comments
com os parâmetros
fileId
e commentId
.
Quando um comentário é excluído, o Drive marca o recurso de comentário como
deleted: true
. Os comentários excluídos não incluem os campos htmlContent
ou
content
.
Mostrar um exemplo
Solicitação
Neste exemplo, fornecemos os parâmetros de caminho fileId
e commentId
.
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID