I commenti sono feedback forniti dall'utente su un file, ad esempio un lettore di un documento di elaborazione testi che suggerisce come riformulare una frase. Esistono due tipi di commenti: commenti ancorati e commenti non ancorati. Un commento ancorato è associato a una posizione specifica, ad esempio una frase in un documento di elaborazione testi, all'interno di una versione specifica di un documento. Al contrario, un commento non ancorato è semplicemente associato al documento.
Le risposte sono associate ai commenti e rappresentano la risposta di un utente al commento. L'API Drive consente agli utenti di aggiungere commenti e risposte ai documenti creati dalla tua app. Un commento con le relative risposte è noto come discussione.
L'impostazione del parametro fields
è obbligatoria per elencare i campi da restituire nella risposta quando viene chiamato ogni metodo elencato nella risorsa comments
. Se ometti il parametro, il metodo restituisce un errore. Per restituire i campi esatti di cui hai bisogno, consulta
Restituire campi specifici.
Aggiungere un commento non ancorato
Per aggiungere un commento non ancorato a un documento, chiama il metodo create()
con il parametro fileId
e una risorsa comments
contenente il commento.
Il commento viene inserito come testo normale, ma il corpo della risposta fornisce un
htmlContent
campo contenente i contenuti formattati per la visualizzazione.
Aggiungere una risposta a un commento
Per aggiungere una risposta a un commento, utilizza il metodo
replies.create()
nella risorsa
replies
con i parametri fileId
e
commentId
. Il corpo della richiesta utilizza il campo content
per aggiungere la risposta.
La risposta viene inserita come testo normale, ma il corpo della risposta fornisce un
htmlContent
campo contenente i contenuti formattati per la visualizzazione.
Il metodo restituisce i campi elencati nel campo fields
.
Mostra un esempio
Richiedi
In questo esempio, forniamo i parametri di percorso fileId
e commentId
e più campi.
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
Corpo della richiesta
{ "content": "This is a reply to a comment." }
Risolvere un commento
Un commento può essere risolto solo pubblicando una risposta.
Per risolvere un commento, utilizza il metodo
replies.create()
nella risorsa
replies
con i parametri fileId
e
commentId
.
Il corpo della richiesta utilizza il campo action
per risolvere il commento. Puoi anche impostare il campo content
per aggiungere una risposta che chiude il commento.
Quando un commento viene risolto, Drive contrassegna la risorsa del commento come
resolved: true
. A differenza dei commenti eliminati, i commenti risolti possono includere i campi htmlContent
o content
.
Quando la tua app risolve un commento, l'interfaccia utente deve indicare che il commento è stato risolto. Ad esempio, l'app potrebbe:
- Non consentire ulteriori risposte e attenuare tutte le risposte precedenti, oltre al commento originale.
- Nascondi i commenti risolti.
Mostra un esempio
Richiedi
In questo esempio, forniamo i parametri di percorso fileId
e commentId
e più campi.
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
Corpo della richiesta
{ "action": "resolve", "content": "This comment has been resolved." }
Aggiungere un commento ancorato all'ultima revisione di un documento
Quando aggiungi un commento, ti consigliamo di ancorarlo a una regione del file. Un
ancora definisce la revisione e la regione di un file a cui fa riferimento un commento. La risorsa comments
definisce il campo anchor
come stringa JSON.
Per aggiungere un commento ancorato:
(Facoltativo) Chiama il metodo
revisions.list()
per elencare tutti irevisionID
di un documento. Segui questo passaggio solo se vuoi ancorare un commento a una revisione diversa da quella più recente. Se vuoi utilizzare la revisione più recente, utilizzahead
perrevisionID
.Chiama il metodo
create()
con il parametrofileID
, una risorsacomments
contenente il commento e una stringa di ancoraggio JSON contenenterevisionID
(r
) e la regione (a
).
La definizione di una regione dipende dal tipo di contenuti del documento con cui stai lavorando. Per ulteriori informazioni, consulta Definire una regione.
Definisci una regione
Come accennato in precedenza, la stringa di ancoraggio JSON contiene un revisionID
(r
) e una regione (a
). La regione (a
) è un array JSON contenente classificatori di regione che specificano il formato e la posizione a cui è ancorato un commento. Un classificatore potrebbe essere un rettangolo bidimensionale per un'immagine, una riga di testo in un documento o una durata in un video. Per definire una regione, seleziona l'classificatore
della regione corrispondente al tipo di contenuti a cui stai tentando di eseguire l'ancoraggio. Ad esempio, se i tuoi contenuti sono di testo, probabilmente utilizzerai il classificatore di regioni txt
o line
.
Per un elenco dei classificatori delle regioni nell'API Drive, consulta Classificatori delle regioni.
L'esempio seguente mostra una stringa di ancoraggio JSON che ancora i commenti alle righe in due aree distinte di un documento:
- La prima area inizia dalla riga 12 (
'n':12
) e si estende per tre righe ('l':3
). - La seconda area copre solo la riga 18 (
'n':18, 'l':1
).
{
'r': 'REVISION_ID',
'a': [
{
'line':
{
'n': 12,
'l': 3,
}
},
{
'line':
{
'n': 18,
'l': 1,
}
}]
}
Sostituisci REVISION_ID con head
o con l'ID di una revisione specifica.
Ricevere un commento
Per aggiungere un commento a un file, utilizza il metodo get()
nella risorsa comments
con i parametri
fileId
e commentId
. Se non conosci l'ID commento, puoi
elencare tutti i commenti utilizzando il metodo list()
.
Il metodo restituisce un'istanza di una risorsa comments
.
Per includere i commenti eliminati nei risultati, imposta il parametro della query includedDeleted
su true
.
Mostra un esempio
Richiedi
In questo esempio, forniamo i parametri di percorso fileId
e commentId
e più campi.
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment,modifiedTime,resolved
Elenco commenti
Per elencare i commenti di un file, utilizza il metodo list()
nella risorsa comments
con il parametro
fileId
. Il metodo restituisce un elenco di commenti.
Passa i seguenti parametri di query per personalizzare la paginazione o filtrare i commenti:
includeDeleted
: impostato sutrue
per includere i commenti eliminati. I commenti eliminati non includono i campihtmlContent
ocontent
.pageSize
: il numero massimo di commenti da restituire per pagina.pageToken
: un token di pagina ricevuto da una precedente chiamata dell'elenco. Fornisci questo token per recuperare la pagina successiva.startModifiedTime
: il valore minimo del campomodifiedTime
per i commenti sul risultato.
Mostra un esempio
Richiedi
In questo esempio, forniamo il parametro di percorso fileId
, il parametro di query includeDeleted
e più campi.
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments?includeDeleted=true&fields=(id,comment,kind,modifiedTime,resolved)
Aggiornare un commento
Per aggiornare un commento su un file, utilizza il metodo
update()
nella risorsa comments
con i parametri fileId
e commentId
. Il corpo della richiesta utilizza il campo content
per aggiornare il commento.
Il metodo restituisce i campi elencati nel parametro di query fields
.
Mostra un esempio
Richiedi
In questo esempio, forniamo i parametri di percorso fileId
e commentId
e più campi.
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment
Corpo della richiesta
{ "content": "This comment is now updated." }
Eliminare un commento
Per eliminare un commento su un file, utilizza il metodo
delete()
nella risorsa comments
con i parametri fileId
e commentId
.
Quando un commento viene eliminato, Drive contrassegna la risorsa del commento comedeleted: true
. I commenti eliminati non includono i campi htmlContent
o content
.
Mostra un esempio
Richiedi
In questo esempio, forniamo i parametri di percorso fileId
e commentId
.
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID