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:
- Verifica che il campo
action
abbia il valorecreate
. - 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. - Utilizza il metodo
files.create
per creare una risorsa file. Se nella richiesta è stato impostatofolderId
, imposta il campoparents
sul valorefolderId
. - Se
folderResourceKey
è stato impostato nella richiesta, imposta l'intestazione della richiestaX-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.