Guide de démarrage rapide pour Python

Les guides de démarrage rapide expliquent comment configurer et exécuter une application qui appelle une API Google Workspace.

Les guides de démarrage rapide Google Workspace utilisent les bibliothèques clientes des API pour gérer certains détails du flux d'authentification et d'autorisation. Nous vous recommandons d'utiliser les bibliothèques clientes pour vos propres applications. Ce guide de démarrage rapide utilise une approche d'authentification simplifiée adaptée à un environnement de test. Pour un environnement de production, nous vous recommandons de vous renseigner sur l'authentification et l'autorisation avant de choisir les identifiants d'accès appropriés pour votre application.

Créez une application de ligne de commande Python qui envoie des requêtes à l'API Directory.

Objectifs

  • configurer votre environnement ;
  • Installez la bibliothèque cliente.
  • Configurez l'exemple.
  • Exécutez l'exemple.

Prérequis

Pour exécuter ce guide de démarrage rapide, les prérequis suivants sont requis:

  • Un domaine Google Workspace pour lequel l'accès aux API est activé.
  • Un compte Google dans ce domaine avec des droits d'administrateur

Configurer votre environnement

Pour suivre ce guide de démarrage rapide, 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 Directory.

    Activer l'API

Si vous utilisez un nouveau projet Google Cloud pour suivre ce guide de démarrage rapide, configurez l'écran de consentement OAuth et ajoutez-vous en tant qu'utilisateur test. Si vous avez déjà effectué cette étape pour votre projet Cloud, passez à la section suivante.

  1. Dans la console Google Cloud, accédez à Menu > API et services > Écran de consentement OAuth.

    Accéder à l'écran de consentement OAuth

  2. Pour Type d'utilisateur, sélectionnez Interne, puis cliquez sur Créer.
  3. Remplissez le formulaire d'enregistrement de l'application, puis cliquez sur Save and Continue (Enregistrer et continuer).
  4. Pour l'instant, vous pouvez ignorer l'ajout de champs d'application et cliquer sur Enregistrer et continuer. Par la suite, lorsque vous créerez une application destinée à être utilisée en dehors de votre organisation Google Workspace, vous devrez définir le type d'utilisateur sur Externe, puis ajouter les niveaux d'autorisation requis par votre application.

  5. Consultez le résumé d'enregistrement de votre application. Pour apporter des modifications, cliquez sur Modifier. Si l'enregistrement de l'application semble correct, cliquez sur Back to Dashboard (Revenir au tableau de bord).

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 chaque plate-forme.
  1. Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants > ID client OAuth.
  3. Cliquez sur Type d'application > Application de bureau.
  4. Dans le champ Name (Nom), saisissez un nom pour l'identifiant. Ce nom ne s'affiche que dans la console Google Cloud.
  5. Cliquez sur Créer. L'écran du client OAuth créé s'affiche, avec l'ID et le code secret du client que vous venez de créer.
  6. Cliquez sur OK. Les nouveaux identifiants s'affichent sous ID client OAuth 2.0.
  7. Enregistrez le fichier JSON téléchargé sous le nom credentials.json et déplacez-le dans votre répertoire de travail.

Installer la bibliothèque cliente Google

  • Installez la bibliothèque cliente Google pour Python:

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
    

Configurer l'exemple

  1. Dans votre répertoire de travail, créez un fichier nommé quickstart.py.
  2. Incluez le code suivant dans quickstart.py:

    admin_sdk/directory/quickstart.py
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ["https://www.googleapis.com/auth/admin.directory.user"]
    
    
    def main():
      """Shows basic usage of the Admin SDK Directory API.
      Prints the emails and names of the first 10 users in the domain.
      """
      creds = None
      # The file token.json stores the user's access and refresh tokens, and is
      # created automatically when the authorization flow completes for the first
      # time.
      if os.path.exists("token.json"):
        creds = Credentials.from_authorized_user_file("token.json", SCOPES)
      # If there are no (valid) credentials available, let the user log in.
      if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
          creds.refresh(Request())
        else:
          flow = InstalledAppFlow.from_client_secrets_file(
              "credentials.json", SCOPES
          )
          creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open("token.json", "w") as token:
          token.write(creds.to_json())
    
      service = build("admin", "directory_v1", credentials=creds)
    
      # Call the Admin SDK Directory API
      print("Getting the first 10 users in the domain")
      results = (
          service.users()
          .list(customer="my_customer", maxResults=10, orderBy="email")
          .execute()
      )
      users = results.get("users", [])
    
      if not users:
        print("No users in the domain.")
      else:
        print("Users:")
        for user in users:
          print(f"{user['primaryEmail']} ({user['name']['fullName']})")
    
    
    if __name__ == "__main__":
      main()

Exécuter l'exemple

  1. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 quickstart.py
    
  1. La première fois que vous exécutez l'exemple, vous êtes invité à autoriser l'accès :
    1. Si vous n'êtes pas déjà connecté à votre compte Google, connectez-vous lorsque vous y êtes invité. Si vous êtes connecté à plusieurs comptes, sélectionnez un compte à utiliser pour l'autorisation.
    2. Cliquez sur Accept (Accepter).

    Votre application Python s'exécute et appelle l'API Directory.

    Les informations d'autorisation sont stockées dans le système de fichiers. Par conséquent, la prochaine fois que vous exécuterez l'exemple de code, aucune autorisation ne vous sera demandée.

Étapes suivantes