Partager via


Répertorier les utilisateurs dans les applications Python à l’aide de Microsoft Graph

Dans cet article, vous allez étendre l’application que vous avez créée dans Créer des applications Python avec Microsoft Graph et l’authentification d’application uniquement avec les API utilisateur Microsoft Graph. Vous utilisez Microsoft Graph pour répertorier les utilisateurs dans votre organization.

  1. Ajoutez la fonction suivante à graph.py.

    async def get_users(self):
        query_params = UsersRequestBuilder.UsersRequestBuilderGetQueryParameters(
            # Only request specific properties
            select = ['displayName', 'id', 'mail'],
            # Get at most 25 results
            top = 25,
            # Sort by display name
            orderby= ['displayName']
        )
        request_config = UsersRequestBuilder.UsersRequestBuilderGetRequestConfiguration(
            query_parameters=query_params
        )
    
        users = await self.app_client.users.get(request_configuration=request_config)
        return users
    
  2. Remplacez la fonction vide list_users dans main.py par ce qui suit.

    async def list_users(graph: Graph):
        users_page = await graph.get_users()
    
        # Output each users's details
        if users_page and users_page.value:
            for user in users_page.value:
                print('User:', user.display_name)
                print('  ID:', user.id)
                print('  Email:', user.mail)
    
            # If @odata.nextLink is present
            more_available = users_page.odata_next_link is not None
            print('\nMore users available?', more_available, '\n')
    
  3. Exécutez l’application et choisissez l’option 2 pour répertorier les utilisateurs.

    Please choose one of the following options:
    0. Exit
    1. Display access token
    2. List users
    3. Make a Graph call
    2
    User: Adele Vance
      ID: 05fb57bf-2653-4396-846d-2f210a91d9cf
      Email: AdeleV@contoso.com
    User: Alex Wilber
      ID: a36fe267-a437-4d24-b39e-7344774d606c
      Email: AlexW@contoso.com
    User: Allan Deyoung
      ID: 54cebbaa-2c56-47ec-b878-c8ff309746b0
      Email: AllanD@contoso.com
    User: Bianca Pisani
      ID: 9a7dcbd0-72f0-48a9-a9fa-03cd46641d49
      Email: None
    User: Brian Johnson (TAILSPIN)
      ID: a8989e40-be57-4c2e-bf0b-7cdc471e9cc4
      Email: BrianJ@contoso.com
    
    ...
    
    More users available? True
    

Explication du code

Considérez le code dans la get_users fonction .

  • Il obtient une collection d’utilisateurs
  • Il utilise $select pour demander des propriétés spécifiques
  • Il utilise $top pour limiter le nombre d’utilisateurs retournés
  • Il utilise $orderBy pour trier la réponse

Étape suivante