Einstieg in den Datenzugriff auf Microsoft-Produkte Microsoft Graph als Ersatz für Azure Graph

Von Thomas Joos Lesedauer: 5 min

Anbieter zum Thema

Microsoft Graph bietet eine Basis für den Zugriff auf Daten, Dienste und Informationen direkt aus Microsoft-Programmen und Clouddiensten. Dadurch können selbst entwickelte Anwendungen Funktionen aus Microsoft-Produkten nutzen und auf deren Daten zugreifen.

Einstieg in Microsoft Graph mit dem Graph-Explorer.
Einstieg in Microsoft Graph mit dem Graph-Explorer.
(Bild: Joos / Microsoft)

Microsoft Graph ist eine Plattform, die Entwicklern ermöglicht, auf Daten und Dienste von Microsoft-Produkten wie Office 365 und Microsoft 365, Azure Active Directory oder auch Windows zuzugreifen. Die Developer-Plattform bietet ein einheitliches Application Programming Interface für die Verwaltung von Benutzerkonten, Gruppen, Kalendern, E-Mails, Dokumenten und vieles mehr.

Microsoft Graph stellt eine API zur Verfügung mit der Entwickler auf Daten zugreifen, diese bearbeiten und analysieren können. In der Dokumentation zu Microsoft Graph finden sich die Möglichkeiten und Funktionen zu finden.

Praxisbeispiel für den Einsatz von Microsoft Graph

Um zum Beispiel einen angemeldeten Benutzer und seine aktuellen Kalendereinträge zu finden, reichen zwei Codezeilen aus:

<mgt-login></mgt-login>
<mgt-agenda></mgt-agenda>

Eine Beispielabfrage für Microsoft Graph könnte lauten:

GET https://graph.microsoft.com/v1.0/me/events

Diese Abfrage zeigt alle Ereignisse des aktuellen Benutzers im Kalender an, die über die Microsoft Graph-API verfügbar sind. Es gibt auch weitere Möglichkeiten, die Abfrage zu verfeinern, zum Beispiel nach Datumsbereich, Art des Ereignisses und vieles mehr:

GET https://graph.microsoft.com/v1.0/me/calendar/events?startDateTime=2023-10-01T00:00:00Z&endDateTime=2023-12-31T23:59:59Z&$filter=showAs eq 'free'

Diese Abfrage gibt alle freien Ereignisse des Benutzers zwischen dem 1. Oktober 2023 und dem 31. Dezember 2023 zurück.

Daten aus Microsoft-Programmen auslesen und in eigenen Apps nutzen

Eines der wichtigsten Ziele von Microsoft Graph ist es, Entwicklerinnen und Entwicklern die Möglichkeit zu geben, ihre Anwendungen und Dienste mit Daten aus Microsoft-Produkten zu integrieren. Beispielsweise können Entwickler mithilfe von Microsoft Graph Kalender- und Kontaktdaten aus Microsoft 365 abrufen, um diese in ihren eigenen Anwendungen anzuzeigen und zu bearbeiten.

Ein weiteres wichtiges Ziel von Microsoft Graph ist es, die Sicherheit und Kontrolle zu erhöhen, indem die Plattform nur mit den entsprechenden Berechtigungen den Zugriff auf Daten und Dienste gestattet. Dies wird durch die Verwendung von OAuth 2.0 und OpenID Connect erreicht, die es ermöglichen, dass Benutzer ihre Anmeldeinformationen nicht weitergeben müssen

Microsoft Graph bietet auch eine Vielzahl von Funktionen zur Verwaltung von Benutzerkonten und Gruppen. Hierzu zählen die Erstellung, Aktualisierung und Löschung von Konten, die Verwaltung von Gruppenmitgliedschaften und die Verwaltung von Berechtigungen für Dokumente und Ordner.

Dies ermöglicht es Entwicklern, ihre Anwendungen und Dienste an die Anforderungen ihrer Organisationen anzupassen und sicherzustellen, dass nur autorisierten Benutzern Zugriff auf bestimmte Daten und Dienste haben. Weiterhin bietet Microsoft Graph eine Vielzahl von Funktionen zur Verwaltung von E-Mails, wie den Zugriff auf Postfächer und Nachrichten, die Erstellung, Aktualisierung und Löschung von Nachrichten.

Einstieg in Microsoft Graph: Der Graph-Explorer

Einstieg in Microsoft Graph mit dem Graph-Explorer.
Einstieg in Microsoft Graph mit dem Graph-Explorer.
(Bild: Joos / Microsoft)

Um sich als Entwickler die Möglichkeiten von Microsoft Graph näher anzuschauen ist es sinnvoll, sich mit Microsoft Graph Explorer auseinanderzusetzen. Über die Web-Anwendung lassen sich verschiedenen Daten auf Basis von Microsoft Graph aus Microsoft-Programmen auslesen. Dazu kommen Beispiele, Snippets, Schnellstart-Anleitungen und vieles mehr. Microsoft Graph nutzt zur Authentifizierung OpenID Connect und OAuth 2.0 und stellt Anmeldedaten für selbst entwickelte Apps zur Verfügung. Hier können zum Beispiel XCode, Xamarin, Angular, UWP, Java, Python, Eclipse, Android Studio, Visual Studio oder REST zum Einsatz kommen.

Die Anwendungen selbst können auf Basis von .NET, JS, HTM; Ruby oder anderen Technologien erstellt und auf PCs, Smartphones oder als Webanwendung bereitgestellt werden, natürlich auch über Microsoft Azure Microsoft bietet SDKs und Bibliotheken für verschiedene Programmiersprachen an, die die Verwendung von Microsoft Graph erleichtern.

Für das Verwalten der Berechtigungen können die Anwendungen Aktionen im Auftrag des Benutzers am jeweiligen Microsoft-Programm vornehmen oder sich als Dienst verbinden. Die verschiedenen Szenarios beschreibt Microsoft in der Dokumentation zu Microsoft Graph.

Microsoft Graph-Toolkit verwenden

Das Microsoft Graph Toolkit lässt sich direkt aus einer Anwendung heraus verwenden. Dazu kann entweder über eine Zuweisung mit „unpkg“ der Zugriff auf das Graph-Toolkit erfolgen, oder über eine Installation mit NPM, zum Beispiel:

npm install @microsoft/mgt

Das Toolkit besteht aus mehreren Paketen. Hier lassen sich gezielt nur die Pakete auswählen, die benötigt werden. Beispiele, wie ein Abruf aussieht, sind auf der Seite „Abrufen der Komponente in Microsoft Graph Toolkit“ zu finden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Mit Microsoft Graph lassen sich Informationen aus Microsoft 365 oder anderen Microsoft-Diensten mit wenigen Zeilen Code auslesen und in eigenen Anwendungen verwenden.
Mit Microsoft Graph lassen sich Informationen aus Microsoft 365 oder anderen Microsoft-Diensten mit wenigen Zeilen Code auslesen und in eigenen Anwendungen verwenden.
(Bild: Joos / Microsoft)

Neben der Möglichkeit, Daten zu Terminen abzufragen, kann mit dem Graph-Toolkit auch der Inhalt von E-Mails ausgelesen werden. Den dazu notwendigen Code hat Microsoft auf dem Graph Toolkit Playground bereitgestellt. Microsoft Graph bietet umfangreiche Sicherheitsfunktionen. Daher ist es wichtig, dass Entwickler diese auch in ihren Anwendungen umsetzen. Die richtigen Berechtigungen schützen Daten und Anwender. In diesem Zusammenhang sollte auch darauf geachtet werden, dass die Daten verschlüsselt und Zugriffe überwacht werden.

Praxisbeispiel für den Einsatz von Microsoft Graph

Um zum Beispiel einen angemeldeten Benutzer und seine aktuellen Kalendereinträge zu finden, reichen zwei Codezeilen aus:

<mgt-login></mgt-login>
<mgt-agenda></mgt-agenda>

Eine Beispielabfrage für Microsoft Graph könnte lauten:

GET https://graph.microsoft.com/v1.0/me/events

Diese Abfrage zeigt alle Ereignisse des aktuellen Benutzers im Kalender an, die über Microsoft Graph-API verfügbar sind. Es gibt auch weitere Möglichkeiten die Abfrage zu verfeinern, zum Beispiel Datumsbereich, Art des Ereignisses und vieles mehr:

GET https://graph.microsoft.com/v1.0/me/calendar/events?startDateTime=2022-10-01T00:00:00Z&endDateTime=2022-12-31T23:59:59Z&$filter=showAs eq 'free'

Diese Abfrage gibt alle freien Ereignisse des Benutzers zwischen dem 1. Oktober 2022 und dem 31. Dezember 2022 zurück. Weitere Beispiele für Abfragen sind:

Abfrage aller Kontakte des aktuellen Benutzers:

GET https://graph.microsoft.com/v1.0/me/contacts

Abfrage aller E-Mails des aktuellen Benutzers, die im Posteingang gespeichert sind:

GET https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages

Abfrage aller Gruppen, denen der aktuelle Benutzer angehört:

GET https://graph.microsoft.com/v1.0/me/memberOf

Abfrage aller Aufgaben des aktuellen Benutzers:

GET https://graph.microsoft.com/v1.0/me/tasks

Abfrage aller Dokumente, die der aktuelle Benutzer in OneDrive gespeichert hat:

GET https://graph.microsoft.com/v1.0/me/drive/root/children

Abfrage aller Benutzer in einer bestimmten Organisation:

GET https://graph.microsoft.com/v1.0/users

Azure Graph wird zum 30.06.2023 abgeschaltet

Microsoft Graph ist aktuell der Weg, um Apps aus Azure Graph zu übernehmen. Zum 30.06.2023 schaltet Microsoft Azure Graph ohne weitere Meldung aus. Anwendungen, die diesen Dienst nutzen, erhalten keine Daten mehr. Microsoft empfiehlt den Umstieg auf Microsoft Graph. Grundsätzlich bietet Microsoft Graph alle Funktionen, die auch in Azure Graph enthalten sind und noch zahlreiche weitere Features.

Was Entwickler für die Migration von Azure Graph zu Microsoft Graph wissen sollten, ist auf der Seite „Migrate your apps from Azure AD Graph to Microsoft Graph“ zu finden. Um die Migration zu planen, stellt Microsoft eine Checkliste zur Verfügung.

Microsoft Graph verschiedene Möglichkeiten, Anfragen zu optimieren, wie zum Beispiel das Filtern, Sortieren und Auswählen von bestimmten Felder. Verwenden Sie diese Funktionen, um die Leistung Ihrer Anwendung zu verbessern und unnötige Datenübertragung zu vermeiden. Bei der Migration von Azure Graph macht eine erneute Optimierung auf jeden Fall Sinn, aber auch bei Neuentwicklungen.

Sollen mehrere Anfragen gleichzeitig laufen, lassen sich diese in Batch-Anfragen zusammenfassen. Das kann die Leistung einer Anwendung erheblich verbessern. Wenn eine Anwendung bestimmte Datenänderungen in Echtzeit erfassen soll, können Abonnements zum Einsatz kommen.

(ID:49198163)