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

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

La tua app riceve quindi un insieme predefinito di variabili del 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 in corso. 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 risorsa della cartella principale.
  • USER_ID: l'ID profilo che identifica in modo univoco l'utente.

La tua app deve agire in base a questa richiesta seguendo questi passaggi:

  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 ed eventi nuovi.
  3. Utilizza il metodo files.create per creare una risorsa file. Se folderId è stato impostato nella richiesta, 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 saperne di più sulle chiavi delle risorse, consulta Accedere ai file condivisi tramite link utilizzando le chiavi delle risorse.

Il parametro state è codificato tramite 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 "create" come potenziali accessi. Alcuni utenti potrebbero avere più account, quindi 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.