Lingua:

Come usare l’API di Google Drive e ottenere una chiave API

Se prevedi di iniziare a lavorare con Drive API di Google a breve, abbiamo preparato una guida completa per te. Oggi scoprirai esattamente a cosa serve e anche come ottenere una chiave API in pochi passaggi.
Scopri cosa ne pensa ChatGPT Apri l’editor del widget in tempo reale
How to use Google Drive API and get an API key

Cos’è l’API di Google Drive

Google Drive API è uno strumento che permette agli utenti di creare app sfruttando lo storage cloud di Google Drive. Grazie a questa funzionalità, puoi sviluppare applicazioni che si integrano con Google Drive e offrire funzionalità potenti nelle tue app.

Cosa puoi fare usando questo strumento

Questa opzione può essere utilizzata per:

  • Scarica e carica i file su Drive.
  • Cerca file e cartelle.
  • Crea query di ricerca complesse che restituiscano uno o più campi di metadati dei file presenti nella risorsa File.
  • Consenti agli utenti di condividere file, cartelle e Drive per collaborare sui contenuti.
  • Usalo insieme all’API Picker per cercare tutti i file in Google Drive e restituire il nome del file, l’URL, la data dell’ultima modifica e l’utente.
  • Crea scorciatoie che puntano a dati conservati al di fuori di Drive, in un altro archivio dati o sistema di archiviazione cloud.
  • Crea una cartella dedicata per archiviare i dati della tua applicazione, per impedire che l’app acceda a tutto il contenuto dell’utente.
  • Integra con l’interfaccia Drive per interagire con i file di Drive.

Per utilizzare l’API con successo, ti serve una chiave API. Vediamo come ottenerla. 

Come ottenere la chiave API di Google Drive

Per generare la tua chiave API, il tuo account deve avere assegnato il ruolo Editor sul progetto in corso. 

Consiglio: I ruoli servono a fornire a un utente, a un gruppo o a un account di servizio i permessi per utilizzare la risorsa. Per ulteriori informazioni sui ruoli consulta qui.

Per configurare una chiave API, segui questi passaggi:

  • Apri API e servizi → Scheda Credenziali nella Console API di Google Drive nel cloud.
Google Cloud Platform console
  • Seleziona l’opzione Crea credenziali e poi scegli la chiave API dal menu a tendina.
Google Cloud Platform console create credentials
  • La finestra di dialogo mostrerà la tua nuova chiave API.
Google Cloud Platform console get API key

Se hai bisogno di definire quali pagine web, indirizzi IP o applicazioni possono utilizzare la tua chiave API, puoi impostare restrizioni sull’app in base al tipo di applicazione. Tieni presente che per una chiave API è possibile impostare solo un tipo di restrizione.

Un altro modo per usare le API – recupera i dati da diverse piattaforme. Ad esempio, inserisci le recensioni di Google sul tuo sito. Questa funzione è disponibile anche in un’applicazione web pronta all’uso, come Google Reviews widget da Elfsight.

Esempi con l’API di Google Drive

Ci sono diversi modi per utilizzare l’API di Google Drive. Esaminiamo alcune opzioni.

Esempio 1: caricamento file con l’API di Google Drive

Puoi caricare i dati del file quando crei o aggiorni una risorsa File. Ci sono tre tipi di caricamenti che puoi eseguire:

  • Semplice. È adatto per il trasferimento rapido di un file piccolo (5 MB o meno).
  • Caricamento multipart. Può essere utilizzato per un rapido trasferimento di un piccolo file e dei metadati che descrivono il file, tutto in una singola richiesta.
  • Caricamento ripetibile. Può essere eseguito per trasferimenti più affidabili, soprattutto per file di grandi dimensioni.

Questo esempio mostra una richiesta di caricamento semplice:

POST googleapis/upload/drive/v3/files?uploadType=media HTTP/1.1
Content-Type: image/jpeg
Content-Length: [NUMBER_OF_BYTES_IN_FILE]
Authorization: Bearer [YOUR_AUTH_TOKEN]

[JPEG_DATA]

Una richiesta di caricamento multipart potrebbe essere la seguente:

POST googleapis/upload/drive/v3/files?uploadType=multipart HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length: [NUMBER_OF_BYTES_IN_ENTIRE_REQUEST_BODY]

--foo_bar_baz
Content-Type: application/json; charset=UTF-8

{
  "name": "myObject"
}

--foo_bar_baz
Content-Type: image/jpeg

[JPEG_DATA]
--foo_bar_baz--

Questo esempio mostra come avviare una sessione di caricamento ripristinabile per caricare un nuovo file:

POST googleapis/upload/drive/v3/files?uploadType=resumable HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Length: 38
Content-Type: application/json; charset=UTF-8
X-Upload-Content-Type: image/jpeg
X-Upload-Content-Length: 2000000

{
  "name": "myObject"
}

La maggior parte delle librerie client delle API Google utilizza almeno uno di questi metodi. Per ulteriori dettagli su come utilizzare ciascun metodo, fai clic qui.

Esempio 2: Google Drive API – condividere file

Ogni file Google Drive ha risorse di permessi associate. Ogni risorsa identifica il permesso per un tipo e un ruolo specifici, ad esempio, “commentatore” o “lettore”. Per condividere un file o una cartella, l’utente deve avere il ruolo di scrittore.

Suggerimento: l’elenco completo dei ruoli e delle operazioni consentite per ciascuno è disponibile qui.

I campi seguenti sono necessari quando si crea un permesso:

  • Tipo. Indica l’ambito del permesso – utente, gruppo, dominio o chiunque.
  • Ruolo. Indica le operazioni che il tipo può eseguire.

Ecco un esempio di come ottenere l’autorizzazione usando una libreria client.

String fileId = "1sTWaJ_j7PkjzaBWtNc3IzovK5hQf21FbOw9yLeeLPNQ";
JsonBatchCallback<Permission> callback = new JsonBatchCallback<Permission>() {
  @Override
  public void onFailure(GoogleJsonError e,
                        HttpHeaders responseHeaders)
      throws IOException {
    // Handle error
    System.err.println(e.getMessage());
  }

  @Override
  public void onSuccess(Permission permission,
                        HttpHeaders responseHeaders)
      throws IOException {
    System.out.println("Permission ID: " + permission.getId());
  }
};
BatchRequest batch = driveService.batch();
Permission userPermission = new Permission()
    .setType("user")
    .setRole("writer")
    .setEmailAddress("user@example.com");
driveService.permissions().create(fileId, userPermission)
    .setFields("id")
    .queue(batch, callback);

Permission domainPermission = new Permission()
    .setType("domain")
    .setRole("reader")
    .setDomain("example.com");
driveService.permissions().create(fileId, domainPermission)
    .setFields("id")
    .queue(batch, callback);

batch.execute();

Puoi trovare ulteriori informazioni sulla condivisione di file, cartelle e Drive qui.

Esempio 3: Google Drive API – ricerca di file e elenco dei file in una cartella

Per cercare un insieme specifico di file e cartelle, dovresti utilizzare la stringa di query q con files.list per filtrare i file da restituire.

Il seguente esempio mostra il formato della stringa di query:

query_term operator values

Dove:

  • query_term è il termine di ricerca o il campo su cui cercare. Per consultare i termini di ricerca che possono essere usati per filtrare Drive condivisi, consulta Termini di ricerca.
  • operator indica la condizione per il termine di ricerca. Per scoprire quali operatori puoi utilizzare con ogni termine di ricerca, consulta Operatori di ricerca.
  • values sono i valori specifici che usi per filtrare i risultati della ricerca.

Il seguente esempio mostra come utilizzare una libreria client per filtrare i risultati di ricerca per nomi di file e ID di immagini JPEG.

String pageToken = null;
do {
  FileList result = driveService.files().list()
      .setQ("mimeType='image/jpeg'")
      .setSpaces("drive")
      .setFields("nextPageToken, files(id, name)")
      .setPageToken(pageToken)
      .execute();
  for (File file : result.getFiles()) {
    System.out.printf("Found file: %s (%s)\n",
        file.getName(), file.getId());
  }
  pageToken = result.getNextPageToken();
} while (pageToken != null);

Altri esempi sono disponibili qui.

Esempio 4: API di Google Drive per Fogli

Per creare un nuovo foglio di calcolo, dovresti utilizzare il metodo create() sull’insieme di fogli di calcolo, come mostrato nell’esempio qui sotto.

Spreadsheet spreadsheet = new Spreadsheet()
        .setProperties(new SpreadsheetProperties()
                .setTitle(title));
spreadsheet = service.spreadsheets().create(spreadsheet)
        .setFields("spreadsheetId")
        .execute();
System.out.println("Spreadsheet ID: " + spreadsheet.getSpreadsheetId());

Esempio 5: Google Drive API – elimina file

Per saltare il cestino, puoi eliminare definitivamente un file per ID. L’utente autenticato corrente deve essere proprietario del file o essere un organizzatore sul contenitore padre per i file di unità condivise. L’esempio di codice per questo metodo:

import com.google.api.services.drive.Drive;
 
import java.io.IOException;
// ...
 
public class MyClass {
 
  // ...
 
  /**
   * Permanently delete a file, skipping the trash.
   *
   * @param service Drive API service instance.
   * @param fileId ID of the file to delete.
   */
  private static void deleteFile(Drive service, String fileId) {
    try {
      service.files().delete(fileId).execute();
    } catch (IOException e) {
      System.out.println("An error occurred: " + e);
    }
  }
 
  // ...
 
}

Documentazione dell’API di Google Drive

Puoi trovare la documentazione necessaria sull’API di Google Drive qui. Contiene tutto il materiale necessario per lavorare con l’API per gli sviluppatori e per integrarla nel tuo sito web.

Limiti e prezzi dell’API di Google Drive

L’uso dell’API di Google Drive è gratuito per gli utenti di tutto il mondo, anche se ci sono alcuni limiti di utilizzo:

RichiesteLimiti
Richieste al giorno1,000,000
Richieste ogni 100 secondi per utente1,000

È possibile trovare un link per richiedere una quota aggiuntiva nella scheda Quotas — se hai bisogno di più della quota predefinita. Inoltre, per ulteriori informazioni sui prezzi, consulta <a href=”https://cloud.google.com/pricing/list”>questa pagina</a>.

FAQ (Domande frequenti)

Non ho i permessi necessari per l’API di Google Drive. Cosa dovrei fare?

Scegli l’ambito corretto dall’elenco qui. Questo dovrebbe risolvere il problema di permessi insufficienti per l’API di Google Drive.

Come posso ottenere assistenza con l’API di Drive?

Puoi utilizzare Stack Overflow, un sito di domande e risposte, per pubblicare le tue domande tecniche. Gli sviluppatori di solito usano il tag [google-drive-api] per contrassegnare le domande rilevanti a questo servizio.

Qual è il costo dell’API di Google Drive?

L’uso della Google Drive API è completamente gratuito. Tuttavia ci sono alcuni limiti. Puoi vedere la tabella nella sezione Prezzi in alto.

Come posso iniziare a utilizzare l’API di Drive?

Puoi provare un’opzione Quickstart per configurare ed eseguire la tua prima app Google Drive.

Conclusione

Come puoi vedere, utilizzare l’API di Google Drive non è complicato. Ottenere la chiave API richiede meno di tre minuti e questo tutorial sull’API Drive ti sarà utile.

Ora dicci: usi questo strumento? Hai mai incontrato difficoltà nel lavorare con esso? Condividi i tuoi pensieri nei commenti! E non dimenticare di tornare sul nostro blog presto per ulteriori guide utili.

Articolo di
Gestore contenuti
Come Content Manager di Elfsight, mi concentro nel creare contenuti pratici e ispiranti. Amo semplificare concetti complessi e renderli facili e piacevoli da leggere.