Erstellen von Python-Apps mit Microsoft Graph
In diesem Lernprogramm erfahren Sie, wie Sie eine Python-Konsolen-App erstellen, die die Microsoft Graph-API verwendet.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Tipp
Wenn Sie nur das abgeschlossene Lernprogramm herunterladen möchten, können Sie das GitHub-Repository herunterladen oder klonen.
Voraussetzungen
Bevor Sie mit diesem Lernprogramm beginnen, sollten Sie Python und Pip auf Ihrem Entwicklungscomputer installiert haben.
Außerdem sollten Sie entweder über ein persönliches Microsoft-Konto mit einem Postfach auf Outlook.com oder über ein Microsoft-Geschäfts-, Schul- oder Unikonto verfügen. Wenn Sie nicht über ein Microsoft-Konto verfügen, gibt es eine Reihe von Optionen, um ein kostenloses Konto zu erhalten:
- Sie können sich für ein neues persönliches Microsoft-Konto registrieren.
- Sie können sich für das Microsoft 365-Entwicklerprogramm registrieren, um ein kostenloses Microsoft 365-Abonnement zu erhalten.
Hinweis
Dieses Lernprogramm wurde mit Python Version 3.10.4 und Pip Version 20.0.2 geschrieben. Die Schritte in diesem Handbuch funktionieren möglicherweise mit anderen Versionen, die jedoch nicht getestet wurden.
Registrieren der App im Portal
In dieser Übung registrieren Sie eine neue Anwendung in Azure Active Directory, um die Benutzerauthentifizierung zu aktivieren. Sie können eine Anwendung über das Azure Active Directory Admin Center oder über das Microsoft Graph PowerShell SDK registrieren.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Registrieren der Anwendung für die Benutzerauthentifizierung
In diesem Abschnitt registrieren Sie eine Anwendung, die die Benutzerauthentifizierung mithilfe des Gerätecodeflusses unterstützt.
Öffnen Sie einen Browser, und navigieren Sie zum Azure Active Directory Admin Center. Melden Sie sich mit einem persönlichen Konto (auch: Microsoft-Konto) oder einem Geschäfts- oder Schulkonto an.
Wählen Sie in der linken Navigationsleiste Azure Active Directory aus, und wählen Sie dann App-Registrierungen unter Verwalten aus.

Wählen Sie Neue Registrierung aus. Geben Sie einen Namen für Ihre Anwendung ein,
Python Graph Tutorialz. B. .Legen Sie unterstützte Kontotypen wie gewünscht fest. Mögliche Optionen:
Option Wer können sich anmelden? Nur Konten in diesem Organisationsverzeichnis Nur Benutzer in Ihrer Microsoft 365 Organisation Konten in einem beliebigen Organisationsverzeichnis Benutzer in einer beliebigen Microsoft 365 Organisation (Geschäfts-, Schul- oder Unikonten) Konten in einem beliebigen Organisationsverzeichnis ... und persönlichen Microsoft-Konten Benutzer in einer beliebigen Microsoft 365 Organisation (Geschäfts-, Schul- oder Unikonten) und persönlichen Microsoft-Konten Lassen Sie URI umleiten leer.
Wählen Sie Registrieren aus. Kopieren Sie auf der Seite "Übersicht " der Anwendung den Wert der Anwendungs-ID (Client-ID), und speichern Sie ihn. Sie benötigen ihn im nächsten Schritt. Wenn Sie "Konten" in diesem Organisationsverzeichnis nur für unterstützte Kontotypen ausgewählt haben, kopieren Sie auch die Verzeichnis-ID (Mandanten-ID), und speichern Sie sie.

Wählen Sie unter Verwalten die Option Authentifizierung aus. Suchen Sie den Abschnitt "Erweiterte Einstellungen" , und ändern Sie den Umschalter " Öffentliche Clientflüsse zulassen " in "Ja", und wählen Sie dann "Speichern" aus.

Hinweis
Beachten Sie, dass Sie keine Microsoft Graph-Berechtigungen für die App-Registrierung konfiguriert haben. Dies liegt daran, dass im Beispiel die dynamische Zustimmung verwendet wird, um bestimmte Berechtigungen für die Benutzerauthentifizierung anzufordern.
Erstellen einer Python-Konsolen-App
Erstellen Sie zunächst eine neue Python-Datei.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Erstellen Sie eine neue Datei mit dem Namen main.py , und fügen Sie den folgenden Code hinzu.
print ('Hello world!')Speichern Sie die Datei, und führen Sie die Datei mit dem folgenden Befehl aus.
python3 main.pyWenn dies funktioniert, sollte die App eine Ausgabe ausführen
Hello world!.
Installieren von Abhängigkeiten
Fügen Sie vor dem Fortfahren einige zusätzliche Abhängigkeiten hinzu, die Sie später verwenden werden.
- Azure Identity-Clientbibliothek für Python zum Authentifizieren des Benutzers und Abrufen von Zugriffstoken.
- Microsoft Graph Core Python Client Library (Vorschau), um Aufrufe an die Microsoft Graph zu tätigen.
Führen Sie die folgenden Befehle in Ihrer CLI aus, um die Abhängigkeiten zu installieren.
python3 -m pip install azure-identity
python3 -m pip install msgraph-core
Laden von Anwendungseinstellungen
In diesem Abschnitt fügen Sie dem Projekt die Details ihrer App-Registrierung hinzu.
Erstellen Sie eine Datei im selben Verzeichnis wie main.py mit dem Namen config.cfg , und fügen Sie den folgenden Code hinzu.
Aktualisieren Sie die Werte gemäß der folgenden Tabelle.
Einstellung Wert clientIdDie Client-ID Ihrer App-Registrierung authTenantWenn Sie die Option ausgewählt haben, dass sich nur Benutzer in Ihrer Organisation anmelden können, ändern Sie diesen Wert in Ihre Mandanten-ID. Andernfalls belassen als common.Tipp
Optional können Sie diese Werte in einer separaten Datei mit dem Namen config.dev.cfg festlegen.
Entwerfen der App
In diesem Abschnitt erstellen Sie ein einfaches konsolenbasiertes Menü.
Öffnen Sie main.py , und ersetzen Sie den gesamten Inhalt durch den folgenden Code.
Fügen Sie die folgenden Platzhaltermethoden am Ende der Datei hinzu. Sie implementieren sie in späteren Schritten.
def greet_user(graph: Graph): # TODO return def display_access_token(graph: Graph): # TODO return 1 def list_inbox(graph: Graph): # TODO return def send_mail(graph: Graph): # TODO return def list_users(graph: Graph): # TODO return def make_graph_call(graph: Graph): # TODO returnFügen Sie die folgende Zeile hinzu, die am Ende der Datei aufgerufen
mainwerden soll.# Run main main()
Dadurch wird ein einfaches Menü implementiert und die Auswahl des Benutzers über die Befehlszeile gelesen.
Hinzufügen der Benutzerauthentifizierung
In diesem Abschnitt erweitern Sie die Anwendung aus der vorherigen Übung, um die Authentifizierung mit Azure AD zu unterstützen. Dies ist erforderlich, um das erforderliche OAuth-Zugriffstoken zum Aufrufen der Microsoft Graph abzurufen. In diesem Schritt integrieren Sie die Azure Identity-Clientbibliothek für Python in die Anwendung und konfigurieren die Authentifizierung für die Microsoft Graph Core Python-Clientbibliothek (Vorschau).
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Die Azure Identity-Bibliothek stellt eine Reihe von TokenCredential Klassen bereit, die OAuth2-Tokenflüsse implementieren. Die Microsoft Graph-Clientbibliothek verwendet diese Klassen, um Aufrufe von Microsoft Graph zu authentifizieren. In diesem Beispiel verwenden wir die folgenden TokenCredential Klassen.
DeviceCodeCredentialimplementiert den Gerätecodefluss für die Benutzerauthentifizierung.ClientSecretCredentialimplementiert den Clientanmeldeinformationsfluss für die Nur-App-Authentifizierung. Sie verwenden diese Klasse in den optionalen Nur-App-Abschnitten.
Konfigurieren Graph Clients für die Benutzerauthentifizierung
In diesem Abschnitt verwenden Sie die DeviceCodeCredential Klasse, um ein Zugriffstoken mithilfe des Gerätecodeflusses anzufordern.
Erstellen Sie eine neue Datei mit dem Namen graph.py , und fügen Sie dieser Datei den folgenden Code hinzu.
Dieser Code deklariert zwei private Eigenschaften, ein
DeviceCodeCredentialObjekt und einGraphClientObjekt. Dieinitialize_graph_for_user_authFunktion erstellt eine neue Instanz vonDeviceCodeCredentialund verwendet dann diese Instanz, um eine neue Instanz vonGraphClientzu erstellen. Jedes Mal, wenn ein API-Aufruf an Microsoft Graph durch denuser_clienterfolgt, verwendet er die bereitgestellten Anmeldeinformationen, um ein Zugriffstoken abzurufen.Fügen Sie graph.py die folgende Funktion hinzu.
Ersetzen Sie die leere
display_access_tokenFunktion in main.py durch Folgendes.Erstellen sie die App, und führen Sie sie aus. Geben Sie
1die Eingabetaste ein, wenn Sie zur Eingabe einer Option aufgefordert werden. Die Anwendung zeigt eine URL und einen Gerätecode an.Python Graph Tutorial Please choose one of the following options: 0. Exit 1. Display access token 2. List my inbox 3. Send mail 4. List users (requires app-only) 5. Make a Graph call 1 To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code RB2RUD56D to authenticate.Öffnen Sie einen Browser, und navigieren Sie zu der angezeigten URL. Geben Sie den bereitgestellten Code ein, und melden Sie sich an.
Wichtig
Achten Sie auf alle vorhandenen Microsoft 365-Konten, die beim Surfen
https://microsoft.com/deviceloginin Ihrem Browser angemeldet sind. Verwenden Sie Browserfeatures wie Profile, Gastmodus oder privaten Modus, um sicherzustellen, dass Sie sich als das Konto authentifizieren, das Sie zum Testen verwenden möchten.Kehren Sie nach Abschluss der Anwendung zurück, um das Zugriffstoken anzuzeigen.
Tipp
Nur zu Überprüfungs- und Debugzwecken können Sie Benutzerzugriffstoken (nur für Geschäfts-, Schul- oder Unikonten) mithilfe des Onlinetokenparsers von Microsoft unter https://jwt.msdecodieren. Dies kann hilfreich sein, wenn beim Aufrufen von Microsoft Graph Tokenfehler auftreten. Überprüfen Sie beispielsweise, ob der
scpAnspruch im Token die erwarteten Microsoft Graph Berechtigungsbereiche enthält.
Benutzer abrufen
In diesem Abschnitt integrieren Sie die Microsoft Graph in die Anwendung. Für diese Anwendung verwenden Sie die Microsoft Graph Core Python Client Library (Vorschau), um Aufrufe an Microsoft Graph zu senden.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Fügen Sie graph.py die folgende Funktion hinzu.
Ersetzen Sie die leere
greet_userFunktion in main.py durch Folgendes.
Wenn Sie die App jetzt ausführen, werden Sie nach der Anmeldung in der App mit dem Namen begrüßt.
Hello, Megan Bowen!
Email: MeganB@contoso.com
Code erklärt
Betrachten Sie den Code in der get_user Funktion. Es sind nur ein paar Zeilen, aber es gibt einige wichtige Details zu beachten.
Zugreifen auf "Ich"
Die Funktion erstellt eine Anforderung an die Get-Benutzer-API . Auf diese API kann auf zwei Arten zugegriffen werden:
GET /me
GET /users/{user-id}
In diesem Fall ruft der Code den GET /me API-Endpunkt auf. Dies ist eine Verknüpfungsmethode zum Abrufen des authentifizierten Benutzers, ohne dessen Benutzer-ID zu kennen.
Hinweis
Da der GET /me API-Endpunkt den authentifizierten Benutzer abruft, ist er nur für Apps verfügbar, die die Benutzerauthentifizierung verwenden. Nur-App-Authentifizierungs-Apps können nicht auf diesen Endpunkt zugreifen.
Anfordern bestimmter Eigenschaften
Die Funktion verwendet den $select Abfrageparameter , um den benötigten Eigenschaftensatz anzugeben. Microsoft Graph gibt nur die angeforderten Eigenschaften in der Antwort zurück.
Posteingang auflisten
In diesem Abschnitt fügen Sie die Möglichkeit hinzu, Nachrichten im E-Mail-Posteingang des Benutzers auflisten zu können.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Fügen Sie graph.py die folgende Funktion hinzu.
Ersetzen Sie die leere
list_inboxFunktion in main.py durch Folgendes.Führen Sie die App aus, melden Sie sich an, und wählen Sie Option 2 aus, um Ihren Posteingang auflisten.
Please choose one of the following options: 0. Exit 1. Display access token 2. List my inbox 3. Send mail 4. List users (requires app-only) 5. Make a Graph call 2 Message: Updates from Ask HR and other communities From: Contoso Demo on Yammer Status: Read Received: 2022-04-26T19:19:05Z Message: Employee Initiative Thoughts From: Patti Fernandez Status: Read Received: 2022-04-25T19:43:57Z Message: Voice Mail (11 seconds) From: Alex Wilber Status: Unread Received: 2022-04-22T19:43:23Z Message: Our Spring Blog Update From: Alex Wilber Status: Unread Received: 2022-04-19T22:19:02Z Message: Atlanta Flight Reservation From: Alex Wilber Status: Unread Received: 2022-04-19T15:15:56Z Message: Atlanta Trip Itinerary - down time From: Alex Wilber Status: Unread Received: 2022-04-18T14:24:16Z ... More messages available? True
Code erklärt
Betrachten Sie den Code in der get_inbox Funktion.
Zugreifen auf bekannte E-Mail-Ordner
Die Funktion erstellt eine Anforderung an die Listennachrichten-API . Da das /mailFolders/inbox Segment in der Anforderungs-URL enthalten ist, gibt die API nur Nachrichten im angeforderten E-Mail-Ordner zurück. Da der Posteingang in diesem Fall ein standardmäßiger, bekannter Ordner innerhalb des Postfachs eines Benutzers ist, kann über seinen bekannten Namen darauf zugegriffen werden. Auf nicht standardmäßige Ordner wird auf die gleiche Weise zugegriffen, indem der bekannte Name durch die ID-Eigenschaft des E-Mail-Ordners ersetzt wird. Ausführliche Informationen zu den verfügbaren bekannten Ordnernamen finden Sie unter mailFolder-Ressourcentyp.
Zugreifen auf eine Sammlung
get_user Im Gegensatz zur Funktion aus dem vorherigen Abschnitt, die ein einzelnes Objekt zurückgibt, gibt diese Methode eine Auflistung von Nachrichten 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 sie eine Methode für Clients bereitstellen, um die nächste "Seite" anzufordern.
Standardseitengrößen
APIs, die Paging verwenden, implementieren ein Standardseitenformat. Bei Nachrichten ist der Standardwert 10. Clients können mehr (oder weniger) mithilfe des $top Abfrageparameters anfordern.
Hinweis
Der übergebene $top Wert ist eine obere Grenze, keine explizite Zahl. Die API gibt eine Reihe von Nachrichten 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, um auf die nächste Seite zuzugreifen. Wenn diese Eigenschaft vorhanden ist, sind weitere Ergebnisse verfügbar.
Sortieren von Sammlungen
Die Funktion verwendet den $orderby Abfrageparameter , um Ergebnisse sortiert nach dem Zeitpunkt anzufordern, zu dem die Nachricht empfangen wird (receivedDateTime Eigenschaft). Es enthält das DESC Schlüsselwort, sodass kürzlich empfangene Nachrichten zuerst aufgeführt werden.
Nachrichten senden
In diesem Abschnitt fügen Sie die Möglichkeit hinzu, eine E-Mail-Nachricht als authentifizierter Benutzer zu senden.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Fügen Sie graph.py die folgende Funktion hinzu.
Ersetzen Sie die leere
send_mailFunktion in main.py durch Folgendes.Führen Sie die App aus, melden Sie sich an, und wählen Sie Option 3 aus, um eine E-Mail an sich selbst zu senden.
Please choose one of the following options: 0. Exit 1. Display access token 2. List my inbox 3. Send mail 4. List users (requires app-only) 5. Make a Graph call 3 Mail sent.Hinweis
Wenn Sie mit einem Entwicklermandanten aus dem Microsoft 365-Entwicklerprogramm testen, wird die von Ihnen gesendete E-Mail möglicherweise nicht zugestellt, und Sie erhalten möglicherweise einen Unzustellbarkeitsbericht. In diesem Fall wenden Sie sich bitte über die Microsoft 365 Admin Center an den Support.
Code erklärt
Betrachten Sie den Code in der send_mail Funktion.
Senden von E-Mails
Die Funktion erstellt eine Anforderung an die Senden-E-Mail-API .
Erstellen von Objekten
Im Gegensatz zu den vorherigen Aufrufen von Microsoft Graph, die nur Daten lesen, werden durch diesen Aufruf Daten erstellt. Um dies mit der Clientbibliothek zu tun, erstellen Sie ein Wörterbuch, das die Anforderungsnutzlast darstellt, legen Sie die gewünschten Eigenschaften fest, und senden Sie es dann im API-Aufruf. Da der Aufruf Daten sendet, wird die post Methode anstelle von getverwendet.
Optional: Konfigurieren der reinen App-Authentifizierung
In diesem Abschnitt aktualisieren Sie die App-Registrierung aus dem vorherigen Abschnitt, um die Nur-App-Authentifizierung zu unterstützen. Nur-App-Authentifizierung ist eine gute Wahl für Hintergrunddienste, und es gibt auch einige APIs, die nur die Nur-App-Authentifizierung unterstützen. Sie müssen diesen Abschnitt nur abschließen, wenn Sie die Nur-App-Teile dieses Lernprogramms verwenden möchten. Andernfalls können Sie sicher zum nächsten Schritt springen.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Wichtig
Die Schritte in diesem Abschnitt erfordern ein Geschäfts-/Schulkonto mit der rolle globaler Administrator.
Öffnen Sie die App-Registrierung aus dem vorherigen Abschnitt im Azure AD Admin Center.
Wählen Sie API-Berechtigungen unter Verwalten aus.
Entfernen Sie die Standardberechtigung "User.Read " unter "Konfigurierte Berechtigungen ", indem Sie die Auslassungszeichen (...) in der Zeile und dann die Berechtigung "Entfernen" auswählen.
Wählen Sie "Berechtigung hinzufügen" und dann "Microsoft Graph" aus.
Wählen Sie Anwendungsberechtigungen aus.
Wählen Sie "User.Read.All" und dann " Berechtigungen hinzufügen" aus.
Wählen Sie "Administratorzustimmung erteilen für..." und dann " Ja " aus, um die Administratorzustimmung für die ausgewählte Berechtigung zu erteilen.

Wählen Sie unter "Verwalten" die Option "Zertifikate und geheime Schlüssel" und dann "Neuer geheimer Clientschlüssel" aus.
Geben Sie eine Beschreibung ein, wählen Sie eine Dauer und dann "Hinzufügen" aus.
Kopieren Sie den geheimen Schlüssel aus der Spalte "Wert" . Sie benötigen ihn in den nächsten Schritten.
Wichtig
Dieser geheime Clientschlüssel wird nicht noch einmal angezeigt, stellen Sie daher sicher, dass Sie ihn jetzt kopieren.
Hinweis
Beachten Sie, dass Sie im Gegensatz zu den Schritten bei der Registrierung für die Benutzerauthentifizierung in diesem Abschnitt Microsoft Graph Berechtigungen für die App-Registrierung konfiguriert haben. Dies liegt daran, dass die Nur-App-Authentifizierung den Clientanmeldeinformationsfluss verwendet, der erfordert, dass Berechtigungen für die App-Registrierung konfiguriert werden. Weitere Informationen finden Sie im Standardbereich .
Optional: Nur-App-Authentifizierung hinzufügen
In diesem Abschnitt fügen Sie der Anwendung die Nur-App-Authentifizierung hinzu. Dieser Abschnitt ist optional und erfordert den Abschluss von Optional: Konfigurieren der reinen App-Authentifizierung. Diese Schritte können nur mit einem Geschäfts-, Schul- oder Unikonto abgeschlossen werden.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Konfigurieren Graph Clients für die Nur-App-Authentifizierung
In diesem Abschnitt verwenden Sie die ClientSecretCredential Klasse, um ein Zugriffstoken mithilfe des Clientanmeldeinformationenflusses anzufordern.
Aktualisieren Sie die Werte in config.cfg (oder config.dev.cfg) gemäß der folgenden Tabelle.
Einstellung Wert tenantIdMandanten-ID Ihrer Organisation clientSecretDer im vorherigen Schritt generierte geheime Clientschlüssel Fügen Sie graph.py die folgende Funktion hinzu.
Optional: Benutzer auflisten
In diesem Abschnitt fügen Sie die Möglichkeit hinzu, alle Benutzer in Ihrem Azure Active Directory mit nur app-Authentifizierung auflisten. Dieser Abschnitt ist optional und erfordert den Abschluss von "Optional:Konfigurieren der Nur-App-Authentifizierung " und "Optional: Nur-App-Authentifizierung hinzufügen". Diese Schritte können nur mit einem Geschäfts-, Schul- oder Unikonto abgeschlossen werden.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Fügen Sie graph.py die folgende Funktion hinzu.
Ersetzen Sie die leere
list_inboxFunktion in main.py durch Folgendes.Führen Sie die App aus, melden Sie sich an, und wählen Sie Option 4 aus, um Benutzer auflisten zu können.
Please choose one of the following options: 0. Exit 1. Display access token 2. List my inbox 3. Send mail 4. List users (requires app-only) 5. Make a Graph call 4 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
Code erklärt
Betrachten Sie den Code in der get_users Funktion. Es ist dem Code in get_inbox:
- Es ruft eine Sammlung von Benutzern ab.
- Es verwendet
$select, um bestimmte Eigenschaften anzufordern. - Es wird verwendet
$top, um die Anzahl der zurückgegebenen Benutzer zu begrenzen. - Es wird
$orderByverwendet, um die Antwort zu sortieren.
Der Hauptunterschied besteht darin, dass dieser Code die app_client, nicht die user_clientverwendet. Beide Clients verwenden die gleiche Syntax und Anforderungs-Generatoren, wurden jedoch mit unterschiedlichen Anmeldeinformationen konfiguriert.
Optional: Eigenen Code hinzufügen
In diesem Abschnitt fügen Sie Der Anwendung Ihre eigenen Microsoft Graph-Funktionen hinzu. Dies kann ein Codeausschnitt aus der Microsoft Graph-Dokumentation oder Graph Explorer oder von Ihnen erstellter Code sein. Dieser Abschnitt ist optional.
Wichtig
Die Microsoft Graph Core Python Client Library befindet sich derzeit in der Vorschau und sollte nicht in der Produktion verwendet werden. Während dieses Zeitraums werden grundlegende Änderungen erwartet. Dieses Lernprogramm wurde mit Version 0.2.2 geschrieben.
Aktualisieren der App
Fügen Sie graph.py die folgende Funktion hinzu.
Ersetzen Sie die leere
list_inboxFunktion in main.py durch Folgendes.
Auswählen einer API
Suchen Sie eine API in Microsoft Graph, die Sie ausprobieren möchten. Beispiel: die Ereignis-API erstellen . Sie können eines der Beispiele in der API-Dokumentation verwenden oder eine eigene API-Anforderung erstellen.
Konfigurieren von Berechtigungen
Überprüfen Sie den Abschnitt "Berechtigungen" der Referenzdokumentation für die ausgewählte API, um zu sehen, welche Authentifizierungsmethoden unterstützt werden. Einige APIs unterstützen z. B. keine reinen App- oder persönlichen Microsoft-Konten.
- Um eine API mit Benutzerauthentifizierung aufzurufen (wenn die API die Benutzerauthentifizierung (delegiert) unterstützt), fügen Sie den erforderlichen Berechtigungsbereich in config.cfg hinzu.
- Um eine API mit Nur-App-Authentifizierung aufzurufen (wenn die API dies unterstützt), fügen Sie den erforderlichen Berechtigungsbereich im Azure AD Admin Center hinzu.
Hinzufügen ihres Codes
Kopieren Sie ihren Code in die make_graph_call Funktion in graph.py.
Herzlichen Glückwunsch!
Sie haben das Python Microsoft Graph-Lernprogramm abgeschlossen. Nachdem Sie nun über eine funktionierende App verfügen, die Microsoft Graph aufruft, können Sie experimentieren und neue Features hinzufügen. Besuchen Sie die Übersicht über Microsoft Graph, um alle Daten anzuzeigen, auf die Sie mit Microsoft Graph zugreifen können.
Python-Beispiele
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.