Lorsqu'un utilisateur sélectionne un fichier et clique sur l'élément de menu « Ouvrir avec » de l'interface utilisateur Drive, Drive redirige l'utilisateur vers l'URL d'ouverture de cette application, définie dans Configurer une intégration de l'interface utilisateur Drive.
Si vous avez coché la case "Importation" lorsque vous avez configuré une intégration de l'interface utilisateur 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'interface utilisateur 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 comme secondaires :
Pour les types MIME définis dans le champ "Types MIME par défaut", l'ID du 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 dans quel type de fichier convertir le fichier Google Workspace. Par exemple, si vous sélectionnez un fichier Google Docs dans l'interface utilisateur Drive et que le champ "Types MIME secondaires" suggère que votre application est compatible avec text/plain ou application/pdf, l'interface utilisateur Drive demande à l'utilisateur s'il souhaite effectuer la conversion au format texte brut ou PDF.
Pour savoir comment gérer les fichiers Google Workspace, consultez Gérer une URL d'ouverture pour les documents Google Workspace. Pour obtenir la liste des documents Google Workspace et des formats de conversion des types MIME, consultez Exporter des types MIME pour les documents Google Workspace documents.
Gérer une URL d'ouverture pour les documents spécifiques à l'application
Comme indiqué dans Configurer une intégration de l'interface utilisateur Drive
,
votre application reçoit des variables de modèle contenant des informations permettant à votre application d'ouvrir
le fichier. Votre application reçoit un ensemble par défaut de variables de modèle
dans un state paramètre. Les informations state par défaut pour une URL d'ouverture spécifique à l'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 d'ID de fichier mappés à leurs clés de ressource respectives.
open: action en cours d'exécution. La valeur estopenlorsque vous utilisez une URL d'ouverture.- 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
actiona la valeuropenet que le champidsest présent. - Utilisez la valeur
userIdpour 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.getpour 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
resourceKeysa é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 ressource, consultez Accéder aux fichiers partagés par lien à l'aide de clés de ressource.
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 d'ouverture pour les documents Google Workspace
Comme indiqué dans Configurer une intégration de l'interface utilisateur 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 d'ouverture Google Workspace 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 fichier à exporter, séparés par une virgule. Utilisé uniquement lors de l'ouverture de fichiers Google Workspace.
- RESOURCE_KEYS : dictionnaire JSON d'ID de fichier mappés à leurs clés de ressource respectives.
open: action en cours d'exécution. La valeur estopenlorsque vous utilisez une URL d'ouverture.- 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 requête d'ouverture de fichier en détectant à la fois la valeur
opendans le champstateet la présence du champexportIds.Utilisez la méthode
files.getpour vérifier les autorisations, récupérer les métadonnées du fichier et déterminer le type MIME à l'aide desEXPORT_IDvaleurs.Convertissez le contenu du fichier à l'aide de la
files.exportméthode. L'exemple de code suivant montre comment exporter un document Google Workspace vers le type MIME demandé.Si
resourceKeya é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 ressource, consultez Accéder aux fichiers partagés par lien à l'aide de clés de ressource.Java
Python
Node.js
PHP
Affichez les fichiers convertis en lecture seule ou présentez une boîte de dialogue permettant à l'utilisateur d'enregistrer le fichier sous le nouveau type de fichier.
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. L'ID utilisateur dans le paramètre state peut donc ne pas correspondre à la session actuelle. Si l'ID utilisateur dans le paramètre state ne correspond pas à la session actuelle, mettez fin à la session actuelle 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 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.