Quando un utente seleziona un file e fa clic sulla voce di menu "Apri con" della UI di Drive, Drive lo reindirizza all'URL di apertura dell'app definito in Configurare un'integrazione della UI di Drive.
Se hai selezionato la casella "Importazione" quando hai configurato un'integrazione della UI 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 controlla i tipi MIME in base 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 aperto per documenti specifici dell'app.
Per i tipi MIME definiti nel campo "Tipi MIME secondari", la UI di Drive mostra una finestra di dialogo che chiede all'utente quale tipo di file 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 l'app supporta testo/normale o applicazione/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 aperto per i documenti di Google Workspace. Per un elenco dei documenti di Google Workspace e dei formati di conversione del tipo MIME, consulta Esportare i tipi MIME per i documenti di Google Workspace.
Gestire un URL di apertura per documenti specifici dell'app
Come accennato in Configurare un'integrazione dell'interfaccia utente di Drive, l'app riceve variabili del modello con informazioni per aprire il file. L'app riceve un insieme predefinito di variabili di modello
all'interno di un parametro state
. Le informazioni state
predefinite per un URL aperto 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 eseguita. Il valore èopen
quando utilizzi un URL di apertura.- USER_ID: l'ID profilo che identifica in modo univoco l'utente.
La tua app deve soddisfare questa richiesta seguendo questi passaggi:
- Verifica che il campo
action
abbia il valoreopen
e che il campoids
sia presente. - Utilizza il valore
userId
per creare una nuova sessione per l'utente. Per ulteriori informazioni sugli utenti che hanno eseguito l'accesso, vedi Utenti e nuovi eventi. - Utilizza il metodo
files.get
per verificare le autorizzazioni, recuperare i metadati dei file e scaricare i contenuti del file usando i valoriID
. - Se per la richiesta è stato impostato
resourceKeys
, imposta l'intestazione della richiestaX-Goog-Drive-Resource-Keys
. Per ulteriori informazioni sulle chiavi delle risorse, consulta Accedere ai file condivisi tramite link utilizzando le chiavi delle risorse.
Il parametro state
è codificato nell'URL, pertanto la tua app deve gestire i caratteri di escape e analizzarlo come JSON.
Gestire un URL aperto per i documenti di Google Workspace
Come accennato in Configurare un'integrazione
della UI di Drive, la tua app riceve un insieme predefinito di
variabili del modello all'interno di un parametro state
. Le informazioni predefinite di state
per un URL aperto 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 di ID file da esportare (utilizzato solo per l'apertura di 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 di apertura.- USER_ID: l'ID profilo che identifica l'utente.
La tua app deve soddisfare questa richiesta seguendo questi passaggi:
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 verificare 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 di Google Workspace nel tipo MIME richiesto.Se per la richiesta è stato impostato
resourceKey
, imposta l'intestazione della richiestaX-Goog-Drive-Resource-Keys
. Per ulteriori informazioni sulle chiavi delle risorse, consulta Accedere ai file condivisi tramite link utilizzando le chiavi delle risorse.Java
Python
Node.js
PHP
Visualizza i file convertiti in sola lettura o presenta una finestra di dialogo che consenta all'utente di salvare il file come nuovo tipo di file.
Il parametro state
è codificato nell'URL, pertanto la tua app deve gestire i caratteri di escape e analizzarlo come JSON.
Utenti e nuovi eventi
Le app di Drive dovrebbero trattare tutti gli eventi "aperti con" come potenziali accessi. Alcuni utenti potrebbero avere più account, pertanto lo User-ID nel parametro state
potrebbe non corrispondere alla sessione corrente. Se lo User-ID nel parametro state
non corrisponde alla sessione corrente, termina la sessione corrente per l'app e accedi come utente richiesto.
Argomenti correlati
Oltre ad aprire un'applicazione dalla UI di Google Drive, le applicazioni possono visualizzare un selettore file per selezionare i contenuti dall'interno dell'app. Per ulteriori informazioni, consulta il selettore di Google.