Microsoft Graph ist eine mächtige RESTful-Web-API, mit der auf Microsoft Cloud-Dienstressourcen zugegriffen werden kann. Um Microsoft Graph mit der Aktivität “HTTP-Request senden” nutzen zu können, benötigen Sie neben einer Registrierungsschlüssel der Anwendung auch einen geheimen Schlüssel. Wie Sie dabei vorgehen, wurde bereits bei den MS SharePoint Einstellungen beschrieben, Sie können dies jedoch auch direkt in der API-Beschreibung von Microsoft Graph nachlesen (https://docs.microsoft.com/de-de/graph/auth-v2-service).
Key-Features
Verwenden von Header
Verwenden eines FormUrlEncoded-Contents
Verwenden eines durch Login ermittelten Bearer-Tokens
Inhalt
Voraussetzungen
Es liegt ein Microsoft-Konto vor, um Anwendungen zu registrieren und Berechtigungen für die Anwendungen vergeben zu können
Es wurde die Anwendung auf dem Azure-Portal registriert
Es wurde ein geheimer Clientschlüssel auf dem Azure-Portal erstellt
Berechtigung für die Anwendung, um auf den Kalender schreibend zugreifen zu können
Konfiguration des HTTP-Endpunkts
Um einen Termin in den Kalender einzutragen, müssen zwei Endpunkte konfiguriert werden. Mit dem einen Endpunkt wird über einen Login ein Bearer-Token ermittelt, welches dann für den eigentlichen Aufruf zur Terminerstellung im Header mitgegeben werden muss.
HTTP-Endpunkt für den Login
Name
Beschreibung
Name
Name für den Endpunkt, z.B. “Microsoft Graph Login“. Aus dem Namen wird eine Zuordnungsvariable erstellt, welche bei der Aktivität verwendet werden muss.
Dies ist die Basis-Adresse der Microsoft Graph API und muss mit einer relativen URL ergänzt werden.
Authentifizierungsart
“Keine”
Header
Im Header müssen folgende Einträge hinzugefügt werden:
“User-Agent”: <Name der registrierten App>
Test der Verbindung
<ToDo>
Token per Login ermitteln
Name
Beschreibung
Endpunkt
Variable für den HTTP-Endpunkt (hier: “http_MicrosoftGraphLogin”) aus den Zuordnungen.
Relative URL
Es ist keine relative URL erforderlich
HTTP-Methode
“POST”
Header
Es sind keine Header erforderlich
Content
Alle für die Authentifizierung notwendigen Daten werden als FormUrlEncoded Content angegeben. Dies sind im Folgenden:
“client_id” : <Anwendungs-ID> (ist aus dem Azure-Portal bei der App-Registrierung zu entnehmen)
“client_secret” : <Dev secret> (wird bei der Registrierung der Anwendung erzeugt und ist danach nicht mehr einsehbar!)
“grant_type” : “client_credentials”
“scope” : “https://graph.microsoft.com/.default“
Ergebnis
Mit dem Senden des Requests wird ein Json-String als Ergebnis zurückgegeben. In dem Json-String befindet sich das “access_token”, welches für die weiteren Aufrufe angegeben werden muss (im Beispiel der Wert “xxx”).
Es ist vermutlich einfacher, das Json-Objekt in einer Text-Datei bzw. Ressource zu erstellen und mit Platzhalter zu versehen, welche dann mit den richtigen Daten ersetzt werden, anstatt das Json-Objekt direkt im Content einzugeben. Da die Hochkommas mit einem Hochkomma “escapted” werden müssen, kann dies schnell unübersichtlich und damit ein ungültiges Json-Objekt erstellt werden.