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.
Sie können Microsoft Graph verwenden, um in Microsoft 365 gespeicherte Benutzerinformationen in benutzerdefinierten Anwendungen zu nutzen. Mit verbundenen Diensten in Visual Studio können Sie Ihrer Anwendung Zugriff auf die folgenden Microsoft 365-Dienste gewähren:
- Outlook: E-Mail, Kalender und Kontakte
- Microsoft Entra ID: Benutzer, Gruppen und Verzeichnisse
- OneDrive: Dateien
- OneNote: Notizen und Notizbücher
- SharePoint: Websites, Listen und Dokumentbibliotheken
- Planner: Aufgaben
In diesem Artikel wird beschrieben, wie Sie verbundene Dienste in Visual Studio für die Verwendung von Microsoft Graph in einer ASP.NET MVC-Anwendung konfigurieren, die Ereignisse aus dem Kalender des aktuell angemeldeten Benutzers anzeigt.
Einrichten
Um die Office 365 Connected Services mit Microsoft Graph verwenden zu können, müssen Sie Folgendes ausführen:
- Laden Sie Visual Studio herunter. Wenn sie bereits vorhanden ist, aktualisieren Sie auf die neueste Version.
- Rufen Sie ein Microsoft 365-Abonnement ab. Wenn Sie nicht über ein Microsoft 365-Abonnement verfügen, können Sie sich über das Microsoft 365-Entwicklerprogramm für ein Abonnement qualifizieren. Weitere Informationen finden Sie in den häufig gestellten Fragen. Alternativ können Sie sich für eine kostenlose 1-monatige Testversion registrieren oder einen Microsoft 365-Plan erwerben.
Abrufen des Startprojekts
Laden Sie das MVC-App-Beispiel für microsoft Graph ASP.NET Connected Services herunter. Dieses Beispiel enthält die Verweise, die Sie für die Authentifizierung bei Microsoft Graph benötigen. Nachdem Sie das Startprojekt heruntergeladen haben, entzippen Sie das Beispiel graph-tutorial , und öffnen Sie es in Visual Studio.
Hinzufügen des verbundenen Diensts
Visual Studio 2022
- Klicken Sie Projektmappen-Explorer auf Verbundene Dienste, um die Registerkarte Verbundene Dienste zu öffnen.
- Klicken Sie unter Dienstabhängigkeiten auf die + Schaltfläche, um eine neue Dienstabhängigkeit hinzuzufügen.
- Scrollen Sie nach unten, und wählen Sie Access Microsoft 365 services with Microsoft Graph (Microsoft 365-Dienste mit Microsoft Graph zugreifen) aus.
Visual Studio 2017 und Visual Studio 2019
- Wählen Sie im Projektmappen-Explorer Verbundene Dienste aus, um die Registerkarte „Verbundene Dienste“ zu öffnen.
- Wählen Sie Access Microsoft 365 services with Microsoft Graph provider (Zugriff auf Microsoft 365-Dienste mit Microsoft Graph-Anbieter ) aus.
Konfigurieren des Microsoft 365-Datenzugriffs
Geben Sie die Domäne Ihres Entwicklerkontos ein, und wählen Sie Weiter aus.
Navigieren Sie Microsoft Entra Admin Center, um Ihren Domänennamen zu finden. Melden Sie sich an, erweitern Sie das Menü >Identität und wählen Sie Übersicht aus. Das Feld Primäre Domäne im Abschnitt Grundlegende Informationen enthält Ihren Domänennamen.
Trinkgeld: Wenn Ihre primäre Adresse lautet, ist
admin@contoso.com
Ihre Domäne contoso.com'.
Wählen Sie Neue Anwendungsregistrierung erstellen aus, und schließen Sie den Vorgang zum Erstellen einer App-Registrierung ab.
Wählen Sie für dieses Tutorial die folgenden Berechtigungen aus:
- Wählen Sie die Registerkarte Kalender aus, und aktivieren Sie das Kontrollkästchen Kalender lesen , um Ihrer Anwendung die
Calendar.Read
Berechtigung zu erteilen. - Wählen Sie die Registerkarte Benutzer aus, und aktivieren Sie das Kontrollkästchen Anmelden und Lesen Ihres Profils , um Ihrer Anwendung die
User.Read
Berechtigung zu erteilen.
- Wählen Sie die Registerkarte Kalender aus, und aktivieren Sie das Kontrollkästchen Kalender lesen , um Ihrer Anwendung die
Wählen Sie Fertig stellen aus.
Aktualisieren der App-Einstellungen
Doppelklicken Sie aufWeb.config.
Fügen Sie in <appSettings> den folgenden Code ein:
<add key="ida:RedirectUri" value="https://localhost:PORT/" /> <add key="ida:AppScopes" value="User.Read Calendars.Read" />
Ändern Sie den
PORT
Wert für soida:RedirectUri
, dass er der URL Ihrer Anwendung entspricht.
Trinkgeld: Die PORT-Informationen finden Sie in den Projekteigenschaften.
Ausführen des Beispiels
Speichern Sie Ihre Änderungen und starten Sie das Projekt. Wählen Sie als Nächstes die Schaltfläche Klicken Sie hier, um sich anzumelden , die Sie zu https://login.microsoftonline.com
umleitet. Melden Sie sich mit Ihrem Entwicklerkonto an, und stimmen Sie den angeforderten Berechtigungen zu.
Auf der Startseite wird Ihr Name angezeigt, der angibt, dass Sie angemeldet sind. Auf der Registerkarte Kalender wird für Ihr Konto entsprechend eine Tabelle mit Ereignissen angezeigt.
Wählen Sie auf dem Avatar in der oberen rechten Ecke Abmelden aus, um die Sitzung zurückzusetzen und zur Startseite zurückzukehren.
Untersuchen des Codes
Sie können nun die Dateien und den Code in Visual Studio untersuchen, um mehr über dieses Startprojekt zu erfahren.
Anforderung an Microsoft Graph-API
Die Hilfsprogramme\GraphHelper.cs enthält die Methoden, die graphServiceClient verwenden, um Anforderungen an den Microsoft Graph-Dienst zu senden. Diese Klasse implementiert die GetUserDetailsAsync-Methode , die das Microsoft Graph SDK verwendet, um benutzerinformationen durch Aufrufen des /me
Endpunkts zu erfassen.
Die GetEventsAsync-Methode verwendet den /v1.0/me/events
Endpunkt, um Kalenderdaten anzufordern. Der select
OData-Abfrageparameter beschränkt die für jedes Ereignis zurückgegebenen Felder auf die in der Ansicht angezeigten Felder. Der orderBy
Parameter sortiert die Ergebnisse nach dem Datum und der Uhrzeit ihrer Erstellung, wobei das letzte Element zuerst ist.
Die GetAuthenticatedClient-Methode initialisiert einen GraphServiceClient mit einem Authentifizierungsanbieter und versucht, mithilfe der AcquireTokenSilent-Methode ein zuvor abgerufenes Zugriffstoken aus dem Tokenspeicher abzurufen. Beachten Sie, dass dem Benutzer eine interaktive Anmeldung angezeigt wird, wenn acquireTokenSilent fehlschlägt.
Authentifizierung
Die App_Start\Startup.Auth.cs konfiguriert die OWIN-Middleware mit den Werten aus Web.config und definiert die folgenden Rückrufmethoden OnAuthenticationFailedAsync und OnAuthorizationCodeReceivedAsync , die aufgerufen werden, wenn der Anmeldeprozess von Azure zurückgegeben wird.
Die Methode OnAuthorizationCodeReceivedAsync umschließt den Standardbenutzertokencache der ConfidentialClientApplication mit der SessionTokenStore-Klasse . Die MSAL-Bibliothek verarbeitet die Logik zum Speichern der Token und zum Aktualisieren der Token bei Bedarf. Der Code übergibt die von Microsoft Graph abgerufenen Benutzerdetails an das SessionTokenStore-Objekt , um sie in der Sitzung zu speichern.
Tokencache
TokenStorage\SessionTokenCache.cs implementiert eine Tokenspeicherklasse, um den MSAL-Tokencache und die Benutzerdetails in der Benutzersitzung zu serialisieren und zu speichern. Sie können diesen durch Ihren eigenen benutzerdefinierten Tokencache ersetzen. Weitere Informationen finden Sie unter Zwischenspeichern von Zugriffstoken.
An- und Abmelden
Controller\AccountController.cs ist ein Controller zum Verarbeiten der Anmeldung, der eine SignIn- und SignOut-Aktion definiert. Die SignIn-Aktion überprüft, ob die Anforderung bereits authentifiziert wurde. Ist das nicht der Fall, wird die OWIN-Middleware aufgerufen, um den Benutzer zu authentifizieren. Die Aktion SignOut ruft die OWIN-Middleware auf, um sich abzumelden.
Views
Views\Shared\_Layout.cshtml definiert das globale Layout der App. Es fügt Bootstrap für einfache Formatierungen und Font Awesome für Symbole hinzu, definiert das Layout der Navigationsleiste und verwendet die Warnungsklasse zum Anzeigen von Warnungen.
Views\Home\Index.cshtml und Views\Calendar\Index.cshtml enthalten die Benutzeroberfläche zum Anzeigen der aus Azure abgerufenen Informationen.
Benötigen Sie Hilfe?
Wenn Sie Hilfe benötigen, veröffentlichen Sie Ihre Fragen auf Microsoft Q&A. Markieren Sie Ihren Beitrag mit {microsoft-graph-identity}.