Présentation des applications pour ordinateur et mobile

L'API Google Picker permet aux utilisateurs de sélectionner ou d'importer des fichiers Google Drive. Ils peuvent autoriser vos applications de bureau et mobiles à 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 de fichiers Google Picker fait office de boîte de dialogue "Ouvrir un fichier" pour les fichiers stockés sur Drive et présente plusieurs fonctionnalités :

  • Une apparence semblable à celle de l'interface utilisateur Google Drive.
  • Plusieurs vues affichant des aperçus et des miniatures des fichiers Drive.
  • Une redirection vers le sélecteur de fichiers Google Picker dans un nouvel onglet du navigateur par défaut de l'utilisateur.

Notez que le sélecteur de fichiers Google Picker 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 qui utilisent le sélecteur de fichiers Google Picker doivent respecter toutes les conditions d'utilisation existantes Terms of Service. 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.

    Activer l'API

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 traits d'union (par exemple, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe). Cette méthode d'authentification permet d'accéder de manière anonyme aux données accessibles au public, telles que les fichiers Google Workspace partagés à l'aide du paramètre de partage "Toute personne disposant du lien sur Internet". Pour en savoir plus, consultez Gérer les clés API.

Pour créer une clé API :

  1. Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants > Clé API.
  3. Votre nouvelle clé API s'affiche.
    • Cliquez sur Copy pour copier votre clé API et l'utiliser dans le code de votre application. Vous pouvez également trouver la clé API dans la section "Clés API" des identifiants de votre projet.
    • Pour éviter toute utilisation abusive, nous vous 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 les 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.
  1. Dans la console API Google, accédez à Menu > Plate-forme d'authentification Google > Clients.

    Accéder à "Clients"

  2. Cliquez sur Créer un client.
  3. Cliquez sur Type d'application > Application de bureau.
  4. Dans le champ Nom, saisissez un nom pour l'identifiant. Ce nom ne s'affiche que dans la console API Google.
  5. 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 :

  1. Vous devez obtenir un jeton OAuth 2.0 avec le champ d'application drive.file, drive, ou drive.readonly 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 champs d'application de l'API Google Drive.

  2. 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.

Afficher le sélecteur de fichiers Google Picker

L'API Google Picker pour les applications de bureau redirige vers le sélecteur de fichiers Google Picker 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 de fichiers Google Picker revient à l'application appelante via l'URL de rappel. Pour que l'API Google Picker s'ouvre dans une page client, utilisez plutôt l'API Google Picker pour les applications Web. Pour en savoir plus, consultez 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 :

  1. Demandez l'accès au champ d'application drive.file pour 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 champs d'application 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 être combiné à aucun autre champ d'application.

  2. 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 prompt et trigger_onepick à votre requête d'URL d'autorisation OAuth 2.0 :

    Paramètre Description État
    prompt=consent Demander l'accès aux fichiers. Obligatoire
    trigger_onepick=true Activer le sélecteur de fichiers Google Picker. Obligatoire

    Vous pouvez également personnaliser le sélecteur de fichiers Google Picker à l'aide de plusieurs paramètres facultatifs :

    Paramètre Description État
    allow_multiple=true Si la valeur est "true", l'utilisateur peut sélectionner plusieurs fichiers. Facultatif
    mimetypes=MIMETYPES Liste de types MIME à filtrer dans les résultats de recherche, séparés par une virgule. 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_IDS Liste d'ID de fichiers à filtrer dans les résultats de recherche, séparés par une virgule. Si ce paramètre n'est pas défini, tous les fichiers s'affichent dans la vue. Facultatif
    allow_folder_selection=true Si 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=true
    

    Remplacez les éléments suivants :

    • CLIENT_ID : ID client de votre application de bureau.

    • 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_uri spécifié doit être une URL HTTPS publique. Si vous souhaitez utiliser un protocole personnalisé ou une URL localhost pour votre redirect_uri, vous devez utiliser une URL HTTPS publique qui redirige ensuite vers le protocole personnalisé ou l'URL localhost.

  3. 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 en ajoutant les paramètres d'URL suivants :

    • 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 du response_type paramè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=SCOPES
    
  4. 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 .

  5. 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 de fichiers Google Picker avec Android

Vous pouvez également utiliser le sélecteur de fichiers Google Picker dans votre application mobile Android.

Autoriser les identifiants pour une application mobile

Pour utiliser le sélecteur de fichiers Google Picker 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 de fichiers Google Picker lors de l'autorisation, créez un AuthorizationRequest et utilisez PICKER_OAUTH_TRIGGER avec AuthorizationRequest.ResourceParameter.

Lors de la création de la AuthorizationRequest :

  • Utilisez le champ d'application https://www.googleapis.com/auth/drive.file.
  • Appelez setOptOutIncludingGrantedScopes(true) pour vous assurer que le jeton renvoyé ne concerne que le https://www.googleapis.com/auth/drive.file champ d'application et non les champs d'application précédemment accordés.
  • Définissez le champ AuthorizationRequest.Prompt sur CONSENT pour demander le consentement de l'utilisateur même s'il a déjà été accordé. Ce champ ne s'applique qu'aux requêtes qui incluent des paramètres de ressource.
  • Vous pouvez également utiliser l'opérateur bitmap "OR" (|) pour définir le AuthorizationRequest.Prompt champ sur SELECT_ACCOUNT afin de permettre à l'utilisateur de sélectionner un compte avant d'afficher l'invite de consentement.

Appeler le sélecteur de fichiers Google Picker

Comme pour les applications de bureau, vous pouvez personnaliser le sélecteur de fichiers Google Picker à l'aide de plusieurs paramètres facultatifs :

  • PICKER_ALLOW_MULTIPLE : permet aux utilisateurs de sélectionner plusieurs fichiers.
  • PICKER_MIMETYPES: renvoie une liste de types MIME à filtrer dans les résultats de recherche, séparés par une virgule. Si ce paramètre n'est pas défini, les fichiers de tous les types MIME s'affichent dans la vue.
  • PICKER_FILE_IDS: renvoie une liste d'ID de fichiers à filtrer dans les résultats de recherche, séparés par une virgule. Si ce paramètre n'est pas défini, tous les fichiers s'affichent dans la vue.

Pour en savoir plus sur les paramètres facultatifs dans les applications de bureau, consultez Afficher le sélecteur de fichiers Google Picker.

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.