Quando un utente seleziona un file e fa clic sull'elemento di menu "Apri con" dell'interfaccia utente di Drive, Drive reindirizza l'utente all'URL di apertura dell'app definito in Configurare un'integrazione dell'interfaccia utente di Drive.
Se hai selezionato la casella "Importazione" quando hai configurato un'integrazione dell'interfaccia utente di Drive, l'utente può selezionare una combinazione di file specifici dell'app e di Google Workspace da aprire. Quando configuri un'integrazione dell'interfaccia utente di Drive, i file specifici dell'app vengono definiti nei campi "Tipi MIME predefiniti" e "Estensioni file predefinite", mentre i file di Google Workspace vengono definiti nei campi "Tipi MIME secondari" ed "Estensioni file secondarie".
Per ogni file che l'utente vuole aprire, Drive controlla i tipi MIME rispetto ai tipi MIME predefiniti e secondari che hai definito:
Per i tipi MIME definiti nel campo "Tipi MIME predefiniti", l'ID file viene passato all'app. Per informazioni su come gestire i file specifici dell'app, consulta Gestire un URL di apertura per i documenti specifici dell'app.
Per i tipi MIME definiti nel campo "Tipi MIME secondari", l'interfaccia utente di Drive mostra una finestra di dialogo che chiede all'utente il tipo di file in cui convertire il file di Google Workspace. Ad esempio, se selezioni un file di Documenti Google nell'interfaccia utente di Drive e il campo "Tipi MIME secondari" suggerisce che la tua app supporta text/plain o application/pdf, l'interfaccia utente di Drive chiede all'utente se vuole eseguire la conversione in testo normale o PDF.
Per informazioni su come gestire i file di Google Workspace, consulta Gestire un URL aperto per i documenti di Google Workspace. Per un elenco dei formati di conversione dei tipi MIME e dei documenti di Google Workspace, consulta Esportare i tipi MIME per i documenti di Google Workspace.
Gestire un URL di apertura per i documenti specifici dell'app
Come indicato in Configurare un'integrazione
dell'interfaccia utente di Drive,
l'app riceve variabili del modello con informazioni che consentono all'app di aprire
il file. La tua app riceve un insieme predefinito di variabili del modello in un parametro state
. Le
informazioni predefinite di state
per un URL di apertura specifico dell'app sono:
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Questo output include i seguenti valori:
- ID: l'ID della cartella principale.
- RESOURCE_KEYS: un dizionario JSON di ID file mappati alle rispettive chiavi delle risorse.
open
: l'azione in esecuzione. Il valore èopen
quando utilizzi un URL aperto.- 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 valore del campo
action
siaopen
e che sia presente il campoids
. - 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.get
per controllare le autorizzazioni, recuperare i metadati dei file e scaricare i contenuti dei file utilizzando i valoriID
. - Se
resourceKeys
è stato impostato nella richiesta, imposta l'intestazione della richiestaX-Goog-Drive-Resource-Keys
. Per maggiori informazioni sulle chiavi delle risorse, vedi Accedere ai file condivisi tramite link utilizzando le chiavi delle risorse.
Il parametro state
è codificato nell'URL, quindi la tua app deve gestire i caratteri di escape
e analizzarlo come JSON.
Gestire un URL di apertura per i documenti di Google Workspace
Come indicato in Configurare un'integrazione dell'interfaccia utente di Drive, la tua app riceve un insieme predefinito di variabili del modello all'interno di un parametro state
. Le informazioni state
predefinite per un URL di Google Workspace Open sono:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Questo output include i seguenti valori:
- EXPORT_ID: un elenco separato da virgole degli ID file da esportare (utilizzato solo quando si aprono i documenti Google integrati).
- RESOURCE_KEYS: un dizionario JSON di ID file mappati alle rispettive chiavi delle risorse.
open
: l'azione eseguita. Il valore èopen
quando utilizzi un URL aperto.- USER_ID: l'ID profilo che identifica l'utente.
L'app deve rispondere a questa richiesta seguendo questa procedura:
Verifica che si tratti di una richiesta di apertura di un file rilevando sia il valore
open
nel campostate
sia la presenza del campoexportIds
.Utilizza il metodo
files.get
per controllare le autorizzazioni, recuperare i metadati dei file e determinare il tipo MIME utilizzando i valoriEXPORT_ID
.Converti i contenuti del file utilizzando il metodo
files.export
. Il seguente esempio di codice mostra come esportare un documento Google Workspace nel tipo MIME richiesto.Se
resourceKey
è 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.Java
Python
Node.js
PHP
Mostrare i file convertiti come di sola lettura o presentare una finestra di dialogo che consenta all'utente di salvare il file come nuovo tipo di file.
Il parametro state
è codificato tramite URL, pertanto l'app deve gestire i caratteri di sfuggita e analizzarlo come JSON.
Utenti e nuovi eventi
Le app di Drive devono trattare tutti gli eventi "apri con" 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.
Argomenti correlati
Oltre ad aprire un'applicazione dall'interfaccia utente di Google Drive, le applicazioni possono mostrare un selettore di file per selezionare i contenuti all'interno di un'app. Per ulteriori informazioni, consulta Selettore Google.