Quando un utente seleziona un file e fa clic sulla voce 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" ed "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 confronta i tipi MIME con i tipi MIME predefiniti e secondari definiti:
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, vedi Gestire un URL di apertura per 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, vedi Gestire un URL di apertura per documenti di Google Workspace. Per un elenco dei documenti di Google Workspace e dei formati di conversione dei tipi MIME, vedi Esportare i tipi MIME per i documenti di Google Workspace documenti.
Gestire un URL di apertura per documenti specifici dell'app
Come indicato in Configurare un'integrazione dell'interfaccia utente di Drive
,
l'app riceve variabili modello con informazioni per l'apertura
del file. L'app riceve un insieme predefinito di variabili modello
all'interno di un state parametro. Le informazioni state predefinite 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 risorsa.
open: l'azione eseguita. Il valore èopenquando si utilizza un URL di apertura.- USER_ID: l'ID profilo che identifica in modo univoco l'utente.
L'app deve agire su questa richiesta seguendo questi passaggi:
- Verifica che il campo
actionabbia un valoreopene che il campoidssia presente. - Utilizza il valore
userIdper creare una nuova sessione per l'utente. Per ulteriori informazioni sugli utenti che hanno eseguito l'accesso, vedi Utenti ed eventi nuovi. - Utilizza il metodo
files.getper 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 ulteriori informazioni sulle chiavi risorsa, vedi Accedere ai file condivisi tramite link utilizzando le chiavi risorsa.
Il parametro state è codificato tramite URL, quindi l'app deve gestire i caratteri di escape e analizzarlo come JSON.
Gestire un URL di apertura per documenti di Google Workspace
Come indicato in Configurare un'integrazione dell'interfaccia utente di Drive, l'app riceve un insieme predefinito di
variabili modello all'interno di un parametro state. Le informazioni state predefinite per un URL di apertura di Google Workspace 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 esportati. Utilizzato solo per l'apertura di file di Google Workspace.
- RESOURCE_KEYS: un dizionario JSON di ID file mappati alle rispettive chiavi risorsa.
open: l'azione eseguita. Il valore èopenquando si utilizza un URL di apertura.- USER_ID: l'ID profilo che identifica l'utente.
L'app deve agire su questa richiesta seguendo questi passaggi:
Verifica che si tratti di una richiesta di apertura di un file rilevando sia il valore
opennel campostatesia la presenza del campoexportIds.Utilizza il
files.getmetodo per controllare le autorizzazioni, recuperare i metadati dei file e determinare il tipo MIME utilizzando iEXPORT_IDvalori.Converti i contenuti dei file utilizzando il
files.exportmetodo. Il seguente esempio di codice mostra come esportare un documento di 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 risorsa, vedi Accedere ai file condivisi tramite link utilizzando le chiavi risorsa.Java
Python
Node.js
PHP
Visualizza i file convertiti come di sola lettura o presenta una finestra di dialogo che consente all'utente di salvare il file come nuovo tipo di file.
Il parametro state è codificato tramite URL, quindi l'app deve gestire i caratteri di escape e analizzarlo come JSON.
Utenti ed eventi nuovi
Le app di Drive devono trattare tutti gli eventi "Apri con" 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 l'app ed esegui l'accesso come utente richiesto.
Argomenti correlati
Oltre ad aprire un'applicazione dall'interfaccia utente di Google Drive, le applicazioni possono visualizzare un selettore file per selezionare i contenuti dall'interno di un'app. Per ulteriori informazioni, vedi Google Picker.