Questa guida introduce concetti come i metodi principali che compongono l'API Google Docs, come accedere a un documento e il flusso di lavoro durante la creazione di un documento.
Metodi API
La risorsa documents
fornisce i metodi che utilizzi per richiamare l'API Docs. I seguenti metodi
consentono di creare, leggere e aggiornare i documenti Google:
- Utilizza il metodo
documents.createper creare un documento. - Utilizza il metodo
documents.getper recuperare i contenuti di un documento specificato. - Utilizza il metodo
documents.batchUpdateper eseguire in modo atomico un insieme di aggiornamenti su un documento specificato.
I metodi documents.get e documents.batchUpdate richiedono un documentId
come parametro per specificare il documento di destinazione. Il metodo documents.create restituisce un'istanza del documento creato, da cui puoi leggere l'documentId. Per saperne di più sui metodi di richiesta e risposta dell'API Docs, consulta Richieste e risposte.
ID documento
L'documentId è l'identificatore univoco del documento e può essere derivato
dall'URL di un documento. Si tratta di una stringa particolare contenente lettere, numeri e
alcuni caratteri speciali. Gli ID documento sono stabili, anche se il nome del documento cambia.
https://docs.google.com/document/d/DOCUMENT_ID/edit
La seguente espressione regolare può essere utilizzata per estrarre documentId da un URL di Documenti Google:
/document/d/([a-zA-Z0-9-_]+)
Se hai familiarità con l'API Google Drive, documentId corrisponde a id
nella risorsa files.
Gestire documenti in Google Drive
I file di Documenti vengono archiviati su Google Drive, il nostro servizio di archiviazione
basato sul cloud. Sebbene l'API Docs abbia metodi autonomi, spesso è necessario utilizzare anche i metodi dell'API Google Drive per interagire con i file Docs di un utente. Ad esempio, per copiare i file di Documenti, utilizza il metodo files.copy dell'API Drive. Per ulteriori informazioni, vedi Copiare un documento
esistente.
Per impostazione predefinita, quando utilizzi l'API Docs, un nuovo documento viene salvato nella cartella principale dell'utente su Drive. Esistono opzioni per salvare un file in una cartella di Drive. Per saperne di più, vedi Utilizzare le cartelle di Google Drive.
Lavorare con i file di Documenti
Per recuperare un documento da Il mio Drive di un utente, spesso è necessario utilizzare prima il metodo files.list di Drive per recuperare l'ID di un file. La chiamata al metodo senza parametri restituisce un elenco di tutti i file e le cartelle, inclusi gli ID, per l'utente.
Il tipo MIME di un documento indica il tipo e il formato dei dati. Il formato del tipo MIME
per Documenti è application/vnd.google-apps.document. Per un elenco dei tipi MIME, vedi Tipi MIME supportati da Google Workspace e Google Drive.
Per cercare per tipo MIME solo i file di Documenti all'interno di My Drive, aggiungi il seguente filtro della stringa di query:
q: mimeType = 'application/vnd.google-apps.document'
Per saperne di più sui filtri della stringa di query, consulta Cercare file e cartelle.
Una volta che conosci l'documentId, utilizza il metodo
documents.get per recuperare un'istanza completa del documento specificato. Per maggiori informazioni,
consulta Richieste e risposte.
Per esportare i contenuti in byte dei documenti Google Workspace, utilizza il metodo
files.export di Drive con
documentId del file da esportare e il tipo MIME di esportazione corretto. Per saperne di più, vedi
Esportare i contenuti dei documenti Google Workspace.
Confronto tra i metodi Get e List
La tabella seguente descrive le differenze tra i metodi Drive e Documenti e i dati restituiti con ciascuno:
| Operatore | Descrizione | Utilizzo |
|---|---|---|
drive.files.get |
Recupera i metadati di un file in base all'ID. Restituisce un'istanza della risorsa files. |
Ottieni i metadati di un file specifico. |
drive.files.list |
Recupera i file di un utente. Restituisce un elenco di file. | Ottieni un elenco di file utente quando non sai quale file devi modificare. |
docs.documents.get |
Recupera l'ultima versione del documento specificato, inclusi tutti i formati e il testo. Restituisce un'istanza della risorsa documents. |
Recupera il documento per un ID documento specifico. |
Flusso di lavoro di creazione dei documenti
Creare e compilare un nuovo documento è semplice, poiché non ci sono contenuti esistenti di cui preoccuparsi e non ci sono collaboratori che possono modificare lo stato del documento. A livello concettuale, funziona come mostrato nel seguente diagramma di sequenza:
Nella figura 1, un utente che interagisce con la risorsa
documents ha il
seguente flusso di informazioni:
- Un'app chiama il metodo
documents.createsu un server web. - Il server web invia una risposta HTTP contenente un'istanza del documento creato come risorsa
documents. - Se vuoi, l'app chiama il metodo
documents.batchUpdateper eseguire in modo atomico un insieme di richieste di modifica per popolare il documento con i dati. - Il server web invia una risposta HTTP. Alcuni metodi
documents.batchUpdateforniscono un corpo della risposta con informazioni sulle richieste applicate, mentre altri mostrano una risposta vuota.
Flusso di lavoro di aggiornamento dei documenti
L'aggiornamento di un documento esistente è più complesso. Prima di poter effettuare chiamate significative per aggiornare un documento, devi conoscerne lo stato attuale: quali elementi lo compongono, quali contenuti contengono questi elementi e l'ordine degli elementi all'interno del documento. Il seguente diagramma di sequenza mostra come funziona:
Nella figura 2, un utente che interagisce con la risorsa documents ha il seguente flusso di informazioni:
- Un'app chiama il metodo
documents.getsu un server web, con ildocumentIddel file da trovare. - Il server web invia una risposta HTTP che contiene un'istanza del
documento specificato come risorsa
documents. Il file JSON restituito contiene i contenuti, la formattazione e altre funzionalità del documento. - L'app analizza il formato JSON in modo che l'utente possa determinare quali contenuti o formato aggiornare.
- L'app chiama il metodo
documents.batchUpdateper eseguire in modo atomico un insieme di richieste di modifica per aggiornare il documento. - Il server web invia una risposta HTTP. Alcuni metodi
documents.batchUpdateforniscono un corpo della risposta con informazioni sulle richieste applicate, mentre altri mostrano una risposta vuota.
Questo diagramma non prende in considerazione i flussi di lavoro in cui vengono apportati aggiornamenti simultanei da altri collaboratori nello stesso documento. Per saperne di più, consulta la sezione delle best practice Pianificare la collaborazione.
Argomenti correlati
- Struttura di un documento Google Docs
- Richieste e risposte
- Regole e comportamento di modifica strutturale
- Best practice per ottenere i risultati migliori