Gestire commenti e risposte

I commenti sono feedback forniti dagli utenti 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 testo, all'interno di una versione specifica di un documento. Al contrario, un commento non ancorato viene associato semplicemente al documento.

Le risposte sono allegate 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. collettivamente, un commento con risposte è noto come argomento.

Aggiungere un commento non ancorato

Per aggiungere un commento non ancorato a un documento, chiama il metodo comments.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 campo htmlContent con contenuti formattati per la visualizzazione.

Aggiungere una risposta a un commento

Per aggiungere una risposta a un commento, chiama il metodo replies.create con il commento, il parametro fileId e una risorsa replies contenente la risposta.

La risposta viene inserita come testo normale, ma il corpo della risposta fornisce un campo htmlContent con contenuti formattati per la visualizzazione.

Aggiungere un commento ancorato all'ultima revisione di un documento

Quando aggiungi un commento, potresti volerlo ancorare a un'area del file. Un ancoraggio definisce la revisione del file e la regione in un file a cui fa riferimento un commento. La risorsa comments definisce il campo anchor come una stringa JSON.

Per aggiungere un commento ancorato:

  1. (Facoltativo) Chiama il metodo revisions.list per elencare ogni revisionID per un documento. Segui questo passaggio solo se vuoi ancorare un commento a qualsiasi revisione diversa dall'ultima. Se vuoi usare l'ultima revisione, usa head per revisionID.

  2. Richiama il metodo comments.create con il parametro fileID, una risorsa comments contenente il commento e una stringa di ancoraggio JSON contenente revisionID (r) e la regione (a).

La definizione di una regione dipende dal tipo di contenuti dei documenti con cui lavori. Per saperne di più, consulta Definire una regione.

Definisci una regione

Come accennato in precedenza, la stringa di ancoraggio JSON contiene revisionID (r) e una regione (a). La regione (a) è un array JSON contenente classificatori della regione che specificano il formato e la posizione a cui è ancorato un commento. Un classificatore può essere un rettangolo bidimensionale per un'immagine, una riga di testo in un documento o una durata di un video. Per definire una regione, seleziona il classificatore della regione che corrisponde al tipo di contenuti a cui stai tentando di ancorare. Ad esempio, se i tuoi contenuti sono di tipo testo, probabilmente utilizzerai il classificatore di regione txt o line.

Per un elenco dei classificatori di regioni nell'API Drive, consulta Classificatori delle regioni.

Nell'esempio seguente viene mostrata una stringa di ancoraggio JSON che ancora i commenti alle righe in due aree separate di un documento:

  • La prima area inizia alla riga 12 ('n':12) e si estende per tre linee ('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.

Risolvi un commento

Utilizza il metodo comment.update per impostare la proprietà resolved nella risorsa comments su true quando un commento è stato risolto.

Quando l'app imposta la proprietà resolved su true, la UI dovrebbe indicare che il commento è stato gestito. Ad esempio, la tua app potrebbe:

  • Non consentire ulteriori risposte e attenua tutte le risposte precedenti più il commento originale.
  • Nascondi commenti risolti.

Eliminare un commento

Utilizza il metodo comments.delete per eliminare i commenti. Quando un commento viene eliminato, Drive contrassegna la risorsa commento come "deleted": "true".

Elenca commenti

Utilizza il metodo comments.list per elencare i commenti. Se vuoi includere nei risultati i commenti eliminati, imposta il campo includedDeleted su true.