Lorsqu'un utilisateur sélectionne un fichier et clique sur l'élément de menu Ouvrir avec de l'UI Drive, Drive le redirige vers l'URL d'ouverture de cette application définie dans Configurer une intégration de l'UI Drive.
Si vous avez coché la case "Importation" lorsque vous avez configuré une intégration de l'UI Drive, l'utilisateur peut sélectionner une combinaison de fichiers spécifiques à l'application et de fichiers Google Workspace à ouvrir. Lorsque vous configurez une intégration de l'UI Drive, les fichiers spécifiques à l'application sont définis dans les champs "Types MIME par défaut" et "Extensions de fichier par défaut", tandis que les fichiers Google Workspace sont définis dans les champs "Types MIME secondaires" et "Extensions de fichier secondaires".
Pour chaque fichier que l'utilisateur souhaite ouvrir, Drive compare les types MIME à ceux que vous avez définis par défaut et secondaires :
Pour les types MIME définis dans le champ "Types MIME par défaut", l'ID de fichier est transmis à votre application. Pour savoir comment gérer les fichiers spécifiques à l'application, consultez Gérer une URL d'ouverture pour les documents spécifiques à l'application.
Pour les types MIME définis dans le champ "Types MIME secondaires", l'interface utilisateur Drive affiche une boîte de dialogue demandant à l'utilisateur le type de fichier dans lequel convertir le fichier Google Workspace. Par exemple, si vous sélectionnez un fichier Google Docs dans l'UI Drive et que le champ "Types MIME secondaires" suggère que votre application est compatible avec text/plain ou application/pdf, l'UI Drive demande à l'utilisateur s'il souhaite convertir le fichier au format texte brut ou PDF.
Pour savoir comment gérer les fichiers Google Workspace, consultez Gérer une URL Open pour les documents Google Workspace. Pour obtenir la liste des documents Google Workspace et des formats de conversion des types MIME, consultez Types MIME d'exportation pour les documents Google Workspace.
Gérer une URL d'ouverture pour des documents spécifiques à une application
Comme indiqué dans Configurer une intégration de l'UI Drive, votre application reçoit des variables de modèle contenant des informations lui permettant d'ouvrir le fichier. Votre application reçoit un ensemble par défaut de variables de modèle dans un paramètre state
. Les informations state
par défaut pour une URL Open spécifique à une application sont les suivantes :
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Ce résultat inclut les valeurs suivantes :
- ID : ID du dossier parent.
- RESOURCE_KEYS : dictionnaire JSON des ID de fichiers mappés à leurs clés de ressources respectives.
open
: action en cours. La valeur estopen
lorsque vous utilisez une URL ouverte.- USER_ID : ID de profil qui identifie de manière unique l'utilisateur.
Votre application doit répondre à cette requête en procédant comme suit :
- Vérifiez que le champ
action
a la valeuropen
et que le champids
est présent. - Utilisez la valeur
userId
pour créer une session pour l'utilisateur. Pour en savoir plus sur les utilisateurs connectés, consultez Utilisateurs et nouveaux événements. - Utilisez la méthode
files.get
pour vérifier les autorisations, récupérer les métadonnées du fichier et télécharger le contenu du fichier à l'aide des valeursID
. - Si
resourceKeys
a été défini dans la requête, définissez l'en-tête de requêteX-Goog-Drive-Resource-Keys
. Pour en savoir plus sur les clés de ressources, consultez Accéder aux fichiers partagés par lien à l'aide de clés de ressources.
Le paramètre state
est encodé au format URL. Votre application doit donc gérer les caractères d'échappement et l'analyser au format JSON.
Gérer une URL "Ouvrir" pour les documents Google Workspace
Comme indiqué dans Configurer une intégration de l'UI Drive, votre application reçoit un ensemble par défaut de variables de modèle dans un paramètre state
. Les informations state
par défaut pour une URL Google Workspace Open sont les suivantes :
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Ce résultat inclut les valeurs suivantes :
- EXPORT_ID : liste d'ID de fichiers à exporter, séparés par une virgule (utilisée uniquement lors de l'ouverture de documents Google intégrés).
- RESOURCE_KEYS : dictionnaire JSON des ID de fichiers mappés à leurs clés de ressources respectives.
open
: action en cours. La valeur estopen
lorsque vous utilisez une URL ouverte.- USER_ID : ID de profil qui identifie l'utilisateur.
Votre application doit répondre à cette requête en procédant comme suit :
Vérifiez qu'il s'agit d'une demande d'ouverture de fichier en détectant à la fois la valeur
open
dans le champstate
et la présence du champexportIds
.Utilisez la méthode
files.get
pour vérifier les autorisations, récupérer les métadonnées du fichier et déterminer le type MIME à l'aide des valeursEXPORT_ID
.Convertissez le contenu du fichier à l'aide de la méthode
files.export
. L'exemple de code suivant montre comment exporter un document Google Workspace vers le type MIME demandé.Si
resourceKey
a été défini dans la requête, définissez l'en-tête de requêteX-Goog-Drive-Resource-Keys
. Pour en savoir plus sur les clés de ressources, consultez Accéder aux fichiers partagés par lien à l'aide de clés de ressources.Java
Python
Node.js
PHP
Afficher les fichiers convertis en lecture seule ou présenter une boîte de dialogue permettant à l'utilisateur d'enregistrer le fichier au nouveau format
Le paramètre state
est encodé au format URL. Votre application doit donc gérer les caractères d'échappement et l'analyser au format JSON.
Utilisateurs et nouveaux événements
Les applications Drive doivent traiter tous les événements "Ouvrir avec" comme des connexions potentielles. Certains utilisateurs peuvent avoir plusieurs comptes. Il est donc possible que l'ID utilisateur du paramètre state
ne corresponde pas à la session actuelle. Si l'ID utilisateur du paramètre state
ne correspond pas à la session actuelle, mettez fin à la session en cours pour votre application et connectez-vous en tant qu'utilisateur demandé.
Articles associés
En plus d'ouvrir une application à partir de l'interface utilisateur de Google Drive, les applications peuvent afficher un sélecteur de fichiers pour sélectionner du contenu dans une application. Pour en savoir plus, consultez Google Picker.