L'API Google Picker permet aux utilisateurs de sélectionner ou d'importer des fichiers Google Drive. Les utilisateurs peuvent accorder l'autorisation à vos applications de bureau d'accéder à leurs données Drive, ce qui leur permet d'interagir avec leurs fichiers de manière sécurisée et autorisée.
Le sélecteur Google sert de boîte de dialogue "Ouvrir un fichier" pour les fichiers stockés sur Drive. Il comporte plusieurs fonctionnalités :
- Une interface utilisateur Google Drive similaire.
- Plusieurs vues montrant des aperçus et des miniatures de fichiers Drive.
- Redirection vers le sélecteur Google dans un nouvel onglet du navigateur par défaut de l'utilisateur.
Notez que le sélecteur Google ne permet pas aux utilisateurs d'organiser, de déplacer ni de copier des fichiers d'un dossier à un autre. Pour gérer les fichiers, vous devez utiliser l' API Google Drive ou l'interface utilisateur Drive.
Prérequis
Les applications utilisant le sélecteur Google doivent respecter toutes les Conditions d'utilisation existantes. Plus important encore, vous devez vous identifier correctement dans vos demandes.
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.
Créer une clé API
Une clé API est une chaîne longue contenant des lettres (majuscules et minuscules), des chiffres, des traits de soulignement et des tirets (par exemple, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
).
Cette méthode d'authentification permet d'accéder de manière anonyme aux données disponibles publiquement, comme les fichiers Google Workspace partagés avec le paramètre de partage "Toute personne sur Internet disposant du lien". Pour en savoir plus, consultez Gérer les clés API.
Pour créer une clé API :
- Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.
- Cliquez sur Créer des identifiants > Clé API.
- Votre nouvelle clé API s'affiche.
- Cliquez sur Copier pour copier votre clé API et l'utiliser dans le code de votre application. Vous trouverez également la clé API dans la section "Clés API" des identifiants de votre projet.
- Pour éviter toute utilisation abusive, nous recommandons d'ajouter des restrictions pour limiter les emplacements et les API pour lesquels la clé API peut être utilisée. Pour en savoir plus, consultez Ajouter des restrictions d'API.
Autoriser des identifiants pour une application de bureau
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.- Dans la console Google Cloud, accédez à Menu > Google Auth platform > 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 n'apparaît que dans la console Google Cloud.
- Cliquez sur Créer.
Les identifiants que vous venez de créer s'affichent sous "ID client OAuth 2.0".
Pour que les applications obtiennent l'autorisation d'accéder aux fichiers qui leur ont été précédemment accordés, vous devez procéder comme suit :
Vous devez obtenir un jeton OAuth 2.0 avec le champ d'application
drive.file
,drive
oudrive.readonly
en suivant ces instructions : Utiliser OAuth 2.0 pour accéder aux API Google. Pour en savoir plus sur les habilitations, consultez Choisir les habilitations de l'API Google Drive.Transmettez le jeton OAuth 2.0 à l'API Drive pour lire et modifier les fichiers auxquels l'utilisateur a précédemment accordé l'accès.
Afficher le sélecteur Google
L'API Google Picker pour les applications de bureau 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. Pour que l'API Google Picker s'ouvre sur une page client, utilisez plutôt l'API Google Picker pour les applications Web. Pour en savoir plus, consultez la présentation des applications Web.
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 de bureau, procédez comme suit :
Demandez l'accès au champ d'application
drive.file
pour ouvrir la page d'accès OAuth 2.0 dans un nouvel onglet de navigateur en suivant ces instructions : Utiliser OAuth 2.0 pour accéder aux API Google. Pour en savoir plus sur les habilitations, consultez Choisir les habilitations de l'API Google Drive.Notez que seul le champ d'application
drive.file
est autorisé pour les applications de bureau et qu'il ne peut pas être combiné avec un autre champ d'application.L'URL du nouvel onglet de navigateur accepte tous les paramètres standards de chaîne de requête OAuth.
Vous devez ajouter les paramètres d'URL
prompt
ettrigger_onepick
à votre requête d'URL d'autorisation OAuth 2.0. Vous pouvez également personnaliser le sélecteur Google avec plusieurs paramètres facultatifs :Paramètre Description État prompt=consent
Invite à accéder aux fichiers. Obligatoire trigger_onepick=true
Activez le sélecteur Google. Obligatoire allow_multiple=true
Si la valeur est "true", l'utilisateur peut sélectionner plusieurs fichiers. Facultatif mimetypes=MIMETYPES
Liste de types MIME séparés par une virgule pour filtrer les résultats de recherche. Si cette option n'est pas définie, les fichiers de tous les types MIME s'affichent dans la vue. Facultatif file_ids=FILE_IDS
Liste d'ID de fichiers séparés par une virgule pour filtrer les résultats de recherche. Si elle n'est pas définie, tous les fichiers sont affichés dans la vue. 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=true
Remplacez les éléments suivants :
CLIENT_ID
: ID client de votre application de bureau.REDIRECT_URI
: URL vers laquelle le serveur d'autorisation redirige le navigateur de l'utilisateur après une authentification réussie. Exemple :https://www.cymbalgroup.com/oauth2callback
.Le
redirect_uri
spé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_uri
spécifié dans la requête, avec les paramètres d'URL suivants ajoutés :picked_file_ids
: liste d'ID de fichiers sélectionnés, séparés par une virgule, si l'utilisateur a accordé l'accès et choisi des fichiers.code
: jeton d'accès ou code d'accès en fonction du paramètreresponse_type
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 demande 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=SCOPES
Les applications doivent échanger le code d'autorisation de l'étape 3 contre un nouveau jeton OAuth 2.0. Pour en savoir plus, consultez Échanger le code d'autorisation contre des jetons d'actualisation et d'accès.
Les applications peuvent ensuite utiliser les ID de fichier 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.