Partager via


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

Dans cet article, vous allez étendre l’application que vous avez créée dans Créer des applications PHP 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 ce code à la classe GraphHelper.

    public static function getUsers(): Models\UserCollectionResponse {
        $configuration = new UsersRequestBuilderGetRequestConfiguration();
        $configuration->queryParameters = new UsersRequestBuilderGetQueryParameters();
        // Only request specific properties
        $configuration->queryParameters->select = ['displayName','id','mail'];
        // Sort by display name
        $configuration->queryParameters->orderby = ['displayName'];
        // Get at most 25 results
        $configuration->queryParameters->top = 25;
    
        return GraphHelper::$appClient->users()->get($configuration)->wait();
    }
    
  2. Remplacez la fonction vide listUsers dans main.php par ce qui suit.

    function listUsers(): void {
        try {
            $users = GraphHelper::getUsers();
    
            // Output each user's details
            foreach ($users->getValue() as $user) {
                print('User: '.$user->getDisplayName().PHP_EOL);
                print('  ID: '.$user->getId().PHP_EOL);
                $email = $user->getMail();
                $email = isset($email) ? $email : 'NO EMAIL';
                print('  Email: '.$email.PHP_EOL);
            }
    
            $nextLink = $users->getOdataNextLink();
            $moreAvailable = isset($nextLink) && $nextLink != '' ? 'True' : 'False';
            print(PHP_EOL.'More users available? '.$moreAvailable.PHP_EOL.PHP_EOL);
        } catch (Exception $e) {
            print(PHP_EOL.'Error getting users: '.$e->getMessage().PHP_EOL.PHP_EOL);
        }
    }
    
  3. Exécutez l’application, connectez-vous 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: NO EMAIL
    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 getUsers fonction .

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

Étape suivante