Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erweitern Sie die Anwendung, die Sie unter Erstellen von Java-Apps mit Microsoft Graph und reine App-Authentifizierung mit Microsoft Graph-Benutzer-APIs erstellt haben. Sie verwenden Microsoft Graph, um Benutzer in Ihrer organization aufzulisten.
Öffnen Sie Graph.java , und fügen Sie der -Klasse die
Graphfolgende Funktion hinzu.public static UserCollectionResponse getUsers() throws Exception { // Ensure client isn't null if (_appClient == null) { throw new Exception("Graph has not been initialized for app-only auth"); } return _appClient.users().get(requestConfig -> { requestConfig.queryParameters.select = new String[] { "displayName", "id", "mail" }; requestConfig.queryParameters.top = 25; requestConfig.queryParameters.orderby = new String[] { "displayName" }; }); }Ersetzen Sie die leere
listUsersFunktion in App.java durch Folgendes.private static void listUsers() { try { final UserCollectionResponse users = Graph.getUsers(); // Output each user's details for (User user: users.getValue()) { System.out.println("User: " + user.getDisplayName()); System.out.println(" ID: " + user.getId()); System.out.println(" Email: " + user.getMail()); } final Boolean moreUsersAvailable = users.getOdataNextLink() != null; System.out.println("\nMore users available? " + moreUsersAvailable); } catch (Exception e) { System.out.println("Error getting users"); System.out.println(e.getMessage()); } }Führen Sie die App aus, melden Sie sich an, und wählen Sie Option 4 aus, um Benutzer aufzulisten.
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
Code erläutert
Betrachten Sie den Code in der getUsers Funktion.
Zugreifen auf eine Sammlung
Diese Methode gibt eine Auflistung von Benutzern zurück. Die meisten APIs in Microsoft Graph, die eine Sammlung zurückgeben, geben nicht alle verfügbaren Ergebnisse in einer einzigen Antwort zurück. Stattdessen verwenden sie Paging , um einen Teil der Ergebnisse zurückzugeben, während eine Methode für Clients bereitgestellt wird, um die nächste Seite anzufordern.
Standardseitengrößen
APIs, die Paging verwenden, implementieren eine Standardseitengröße. Für Benutzer ist der Standardwert 10. Clients können mithilfe des abfrageparameters $top mehr (oder weniger) anfordern. In getUserserfolgt das Hinzufügen $top mit der top -Eigenschaft in der Anforderungskonfiguration.
Hinweis
Der in top festgelegte Wert ist eine obere Grenze, keine explizite Zahl. Die API gibt eine Anzahl von Benutzern bis zum angegebenen Wert zurück.
Abrufen nachfolgender Seiten
Wenn auf dem Server weitere Ergebnisse verfügbar sind, enthalten Sammlungsantworten eine @odata.nextLink Eigenschaft mit einer API-URL für den Zugriff auf die nächste Seite. Die Java-Clientbibliothek stellt die getOdataNextLink -Methode für Sammlungsantwortobjekte bereit. Wenn diese Methode ungleich NULL zurückgibt, stehen weitere Ergebnisse zur Verfügung.
Sortieren von Sammlungen
Die Funktion verwendet die orderBy -Eigenschaft für die Anforderungskonfiguration, um Ergebnisse anzufordern, die nach den Anzeigenamen der Benutzer sortiert sind. Diese Eigenschaft fügt dem API-Aufruf den Abfrageparameter $orderby hinzu.