Ce document explique comment intégrer le sélecteur Google dans vos applications de bureau et mobiles à l'aide de l'API Google Picker.
L'API Google Picker permet aux utilisateurs de sélectionner ou d'importer des fichiers Google Drive. Les utilisateurs peuvent autoriser votre application de bureau, mobile ou Web à accéder à leurs données Drive, ce qui leur permet d'interagir avec leurs fichiers de manière sécurisée et autorisée.
Fonctionnalités
Le sélecteur Google offre plusieurs fonctionnalités :
- Une apparence similaire à l'interface utilisateur de Google Drive.
- Plusieurs vues affichant des aperçus et des miniatures des fichiers Drive.
- Des vues préfiltrées qui n'affichent que des types de fichiers spécifiques (PDF ou images, par exemple) ou certains dossiers.
- Une redirection vers le sélecteur Google dans un nouvel onglet du navigateur par défaut de l'utilisateur. Pour que l'API Google Picker s'ouvre dans une page client, utilisez l'API Google Picker pour les applications Web plutôt.
Notez que si le sélecteur Google vous permet de sélectionner et d'importer des fichiers, il n'autorise pas les utilisateurs à organiser, déplacer ni copier des fichiers d'un dossier à un autre. Pour gérer des fichiers, vous devez utiliser l'API Google Drive ou l'interface utilisateur de Drive.
Prérequis
Les applications qui utilisent le sélecteur Google doivent respecter toutes les conditions d'utilisation existantes. Plus important encore, vous devez vous identifier correctement dans vos requêtes.
Vous devez également disposer d'un projet Google Cloud.
Configurer votre environnement
Pour commencer à utiliser l'API Google Picker, vous devez configurer votre environnement.
Activer l'API
Avant d'utiliser les API Google, vous devez les activer dans un projet Google Cloud. Vous pouvez activer une ou plusieurs API dans un même projet Google Cloud.Dans la console Google Cloud, activez l'API Google Picker.
Configurer l'authentification et l'autorisation
Pour authentifier les utilisateurs finaux et accéder aux données utilisateur dans votre application, vous devez créer un ou plusieurs ID client OAuth 2.0. Un ID client sert à identifier une application unique auprès des serveurs OAuth de Google. Si votre application s'exécute sur plusieurs plates-formes, vous devez créer un ID client distinct pour chacune d'elles.Autoriser les identifiants pour une application de bureau
Pour créer un ID client OAuth 2.0, procédez comme suit :
- Dans la console Google APIs, accédez à Menu > Plate-forme d'authentification Google > Clients.
- Cliquez sur Créer un client.
- Cliquez sur Type d'application > Application de bureau.
- Dans le champ Nom, saisissez un nom pour l'identifiant. Ce nom ne s'affiche que dans la console API Google.
- Cliquez sur Créer.
L'identifiant que vous venez de créer s'affiche sous "ID client OAuth 2.0".
Pour que les applications soient autorisées à accéder aux fichiers auxquels elles ont déjà été autorisées, procédez comme suit :
Vous devez obtenir un jeton OAuth 2.0 avec le champ d'application
drive.file,drive, oudrive.readonlyen suivant ces instructions : Utiliser OAuth 2.0 pour accéder aux API Google. Pour en savoir plus sur les champs d'application, consultez Choisir les habilitations de l'API Google Drive scopes.Transmettez le jeton OAuth 2.0 à l'API Drive pour lire et modifier les fichiers auxquels l'utilisateur a déjà accordé l'accès.
Autoriser les identifiants pour votre application mobile
Pour créer un ID client OAuth 2.0, suivez les étapes décrites dans la section Autoriser les identifiants pour une application mobile.
Autoriser les identifiants pour votre application Web
Pour créer un ID client OAuth 2.0, suivez les étapes décrites dans la section Autoriser les identifiants pour une application Web.
Afficher le sélecteur Google
L'API Google Picker pour les applications de bureau et mobiles redirige vers le sélecteur Google dans un nouvel onglet du navigateur par défaut de l'utilisateur. Une fois que l'utilisateur a accordé l'accès et sélectionné les fichiers concernés, le sélecteur Google revient à l'application appelante via l'URL de rappel.
-
Authentifiez votre application en déclenchant le sélecteur Google.
-
Connectez-vous avec Google et accordez les autorisations demandées.
-
Parcourez vos fichiers Google Drive dans le sélecteur Google et sélectionnez l'élément souhaité.
-
Confirmez votre sélection, puis appuyez sur "Insérer" pour ajouter le fichier à votre application.
Intégrer le sélecteur Google à votre application
Pour permettre aux utilisateurs d'accorder l'accès à des fichiers supplémentaires ou de sélectionner des fichiers à utiliser dans le flux de votre application, procédez comme suit :
Demandez l'accès au champ d'application
drive.filepour ouvrir la page d'accès OAuth 2.0 dans un nouvel onglet du navigateur en suivant ces instructions : Utiliser OAuth 2.0 pour accéder aux API Google. Pour en savoir plus sur les champs d'application, consultez Choisir les habilitations de l'API Google Drive scopes.Notez que seul le champ d'application
drive.fileest autorisé pour ces applications et qu'il ne peut être combiné à aucun autre champ d'application.L'URL du nouvel onglet du navigateur accepte tous les paramètres de chaîne de requête OAuth standards.
Vous devez ajouter les paramètres d'URL
promptettrigger_onepickà votre requête d'URL d'autorisation OAuth 2.0. Vous pouvez également personnaliser le sélecteur Google avec plusieurs autres paramètres :Paramètre Description État prompt=consentDemande d'accès aux fichiers. Obligatoire trigger_onepick=trueActiver le sélecteur Google. Obligatoire allow_multiple=trueSi la valeur est "true", l'utilisateur peut sélectionner plusieurs fichiers. Facultatif mimetypes=MIMETYPESListe de types MIME séparés par une virgule pour filtrer les résultats de recherche. Si ce paramètre n'est pas défini, les fichiers de tous les types MIME s'affichent dans la vue. Facultatif file_ids=FILE_IDSListe d'ID de fichiers séparés par une virgule pour filtrer les résultats de recherche. Si ce paramètre n'est pas défini, tous les fichiers s'affichent dans la vue. Facultatif allow_folder_selection=trueSi la valeur est "true", l'utilisateur peut également sélectionner des dossiers. Facultatif L'exemple suivant montre une requête d'URL d'autorisation OAuth 2.0 :
https://accounts.google.com/o/oauth2/v2/auth? \ client_id=CLIENT_ID \ &scope=https://www.googleapis.com/auth/drive.file \ &redirect_uri=REDIRECT_URI \ &response_type=code \ &access_type=offline \ &prompt=consent \ &trigger_onepick=trueRemplacez les éléments suivants :
CLIENT_ID: ID client de votre application.REDIRECT_URI: emplacement vers lequel le serveur d'autorisation redirige le navigateur de l'utilisateur une fois l'authentification réussie. Exemple :https://www.cymbalgroup.com/oauth2callback.Le
redirect_urispécifié doit être une URL HTTPS publique. Si vous souhaitez utiliser un protocole personnalisé ou une URL localhost pour votreredirect_uri, vous devez utiliser une URL HTTPS publique qui redirige ensuite vers le protocole personnalisé ou l'URL localhost.
Une fois que l'utilisateur a accordé l'accès et sélectionné les fichiers concernés, OAuth redirige vers le
redirect_urispécifié dans la requête avec les paramètres d'URL suivants ajoutés :picked_file_ids: si l'utilisateur a accordé l'accès et sélectionné des fichiers, liste d'ID de fichiers sélectionnés séparés par une virgule.code: jeton d'accès ou code d'accès en fonction duresponse_typeparamètre défini dans la requête. Ce paramètre inclut un nouveau code d'autorisation.scope: champ(s) d'application inclus dans la requête.error: si l'utilisateur a annulé la requête dans le flux de consentement, une erreur s'affiche.
L'exemple suivant montre une réponse d'URL d'autorisation OAuth 2.0 :
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESLes applications doivent échanger le code d'autorisation de l'étape 3 contre un nouveau jeton OAuth 2.0. Pour en savoir plus, consultez Échanger un code d'autorisation contre des jetons d'actualisation et d'accès tokens.
Les applications peuvent ensuite utiliser les ID de fichiers du paramètre d'URL de l'étape 3 et le jeton OAuth 2.0 obtenu à l'étape 4 pour appeler l'API Drive. Pour en savoir plus, consultez la présentation de l'API Google Drive.
Utiliser le sélecteur Google avec des applications Android
Vous pouvez également utiliser le sélecteur Google dans vos applications mobiles Android.
Autoriser les identifiants pour une application mobile
Pour utiliser le sélecteur Google dans votre application Android, vous devez autoriser les utilisateurs à l'aide d'OAuth 2.0, comme pour les applications de bureau. Pour en savoir plus sur l'authentification Android, consultez Autoriser l'accès aux données utilisateur Google data.
Pour afficher le sélecteur Google lors de l'autorisation, créez un
AuthorizationRequest
et utilisez le paramètre de ressource PICKER_OAUTH_TRIGGER sur l'objet
AuthorizationRequest.ResourceParameter.
Lors de la création de la AuthorizationRequest :
Utilisez le champ d'application
drive.file.Appelez
setOptOutIncludingGrantedScopessurtruepour vous assurer que le jeton renvoyé ne concerne que le champ d'applicationdrive.fileet non les champs d'application précédemment accordés.Définissez le
AuthorizationRequest.Promptchamp surCONSENTpour demander le consentement de l'utilisateur, même s'il a déjà été accordé avant.Vous pouvez également utiliser l'opérateur bitmap "OR" (
|) pour définir le champAuthorizationRequest.PromptsurSELECT_ACCOUNTafin de permettre à l'utilisateur de sélectionner un compte avant d'afficher l'invite de consentement.
Appeler le sélecteur Google
Comme pour les applications de bureau, vous pouvez personnaliser le sélecteur Google avec plusieurs paramètres facultatifs :
PICKER_ALLOW_MULTIPLE: permet aux utilisateurs de sélectionner plusieurs fichiers.PICKER_MIMETYPES: accepte une liste de types MIME séparés par une virgule pour filtrer les résultats de recherche. Si ce paramètre n'est pas défini, les fichiers de tous les types MIME s'affichent dans la vue.PICKER_FILE_IDS: accepte une liste d'ID de fichiers séparés par une virgule pour filtrer les résultats de recherche. Si ce paramètre n'est pas défini, tous les fichiers s'affichent dans la vue.PICKER_ALLOW_FOLDER_SELECTION: permet aux utilisateurs de sélectionner également des dossiers.
Pour en savoir plus sur les paramètres facultatifs dans les applications de bureau, consultez Afficher le sélecteur Google.
Une fois que l'utilisateur a accordé l'accès et sélectionné les fichiers concernés, l'
getTokenResponseParams
objet de la
AuthorizationResult
ressource est renvoyé. Si l'utilisateur a accordé l'accès, cet objet contient la valeur picked_file_ids, qui est une liste d'ID de fichiers sélectionnés séparés par une virgule.