Integrazione con il pulsante"Nuovo " dell'interfaccia utente di Drive

Quando un utente fa clic sul pulsante "Nuovo" della UI di Drive e seleziona un'app nell'interfaccia utente di Drive, Drive reindirizza l'utente al nuovo URL dell'app definito in Configurare un'integrazione della UI di Drive.

L'app riceve poi un insieme predefinito di variabili di modello all'interno di un parametro state. Le informazioni state predefinite per un nuovo URL sono:

{
  "action":"create",
  "folderId":"FOLDER_ID",
  "folderResourceKey":"FOLDER_RESOURCE_KEY",
  "userId":"USER_ID"
}

Questo output include i seguenti valori:

  • create: l'azione eseguita. Il valore è create quando un utente fa clic sul pulsante "Nuovo " dell'interfaccia utente di Drive.
  • FOLDER_ID: l'ID della cartella principale.
  • FOLDER_RESOURCE_KEY: la chiave della risorsa della cartella padre.
  • USER_ID: l'ID profilo che identifica in modo univoco l'utente.

La tua app deve soddisfare questa richiesta seguendo questi passaggi:

  1. Verifica che il campo action abbia un valore pari a create.
  2. Utilizza il valore userId per creare una nuova sessione per l'utente. Per ulteriori informazioni sugli utenti che hanno eseguito l'accesso, vedi Utenti e nuovi eventi.
  3. Utilizza il metodo files.create per creare una risorsa file. Se nella richiesta è stato impostato folderId, imposta il campo parents sul valore folderId.
  4. Se per la richiesta è stato impostato folderResourceKey, imposta l'intestazione della richiesta X-Goog-Drive-Resource-Keys. Per ulteriori informazioni sulle chiavi delle risorse, consulta Accedere ai file condivisi tramite link utilizzando le chiavi delle risorse.

Il parametro state è codificato nell'URL, pertanto la tua app deve gestire i caratteri di escape e analizzarlo come JSON.

Utenti e nuovi eventi

Le app di Drive dovrebbero trattare tutti gli eventi di creazione come potenziali accessi. Alcuni utenti potrebbero avere più account, pertanto lo User-ID nel parametro state potrebbe non corrispondere alla sessione corrente. Se lo User-ID nel parametro state non corrisponde alla sessione corrente, termina la sessione corrente per l'app e accedi come utente richiesto.