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'UI di Drive, Drive reindirizza l'utente all'URL Nuovo dell'app definito in Configurare un'integrazione dell'interfaccia utente di Drive.

L'app riceve quindi un insieme predefinito di variabili del modello all'interno di un parametro state. Le informazioni predefinite di state 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 in esecuzione. Il valore è create quando un utente fa clic sul pulsante "Nuovo" della UI di Drive.
  • FOLDER_ID: l'ID della cartella principale.
  • FOLDER_RESOURCE_KEY: la chiave della risorsa della cartella principale.
  • USER_ID: l'ID profilo che identifica in modo univoco l'utente.

L'app deve rispondere a questa richiesta seguendo questa procedura:

  1. Verifica che il campo action abbia il valore create.
  2. Utilizza il valore userId per creare una nuova sessione per l'utente. Per ulteriori informazioni sugli utenti che hanno eseguito l'accesso, consulta 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 folderResourceKey è stato impostato nella richiesta, imposta l'intestazione della richiesta X-Goog-Drive-Resource-Keys. Per ulteriori informazioni sulle chiavi di risorsa, vedi Accedere ai file condivisi tramite link utilizzando le chiavi di risorsa.

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

Utenti e nuovi eventi

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