Office 365 API (MS Graph) am SQL Server abrufen
Hallo Zusammen,
nach ziemlich vielen Stunden herumprobieren, versuche ich es nun auf diesem Weg.
Ich möchte gern am SQL-Server im Hintergrund auf ein Exchange Online Postfach zugreifen. Dazu gibt es ja eine API (Microsoft Graph). Leider scheine ich an oauth2 zu scheitern.
Aber von vorn:
Ich habe eine App im Azure registriert und möchte mich dort per Passwort (nicht zertifikat!) authentifizieren um dann einen Token (bearer) zu erhalten, damit ich dann in MS Graph meine Abfragen starten kann.
In einer SQL Procedure sieht das aktuell so aus (IDs sind gekürzt):
Die Tenant ID habe ich geprüft, genauso wie den Schlüssel der App und die Client_id der App in Azure
Die App ist auch vom Administrator bestätigt und besitzt das Recht für Mail.Read(Exchange) & User.Read(MSGraph)
Wenn ich die Prozedur aber ausführe, kommt leider nichts zurück. Keine Fehlermeldung, einfach nichts.
Eigentlich erwarte ich den Bearer Token, ohne den ich aber nicht weiter komme.
Hat irgendwer eine Idee ?
nach ziemlich vielen Stunden herumprobieren, versuche ich es nun auf diesem Weg.
Ich möchte gern am SQL-Server im Hintergrund auf ein Exchange Online Postfach zugreifen. Dazu gibt es ja eine API (Microsoft Graph). Leider scheine ich an oauth2 zu scheitern.
Aber von vorn:
Ich habe eine App im Azure registriert und möchte mich dort per Passwort (nicht zertifikat!) authentifizieren um dann einen Token (bearer) zu erhalten, damit ich dann in MS Graph meine Abfragen starten kann.
In einer SQL Procedure sieht das aktuell so aus (IDs sind gekürzt):
Declare @ResponseText as varchar(8000)
Declare @serviceUrl as varchar(500)
Declare @Object as Int;
Declare @sID nvarchar(max)
DECLARE @value nvarchar(255)
DECLARE @Body AS VARCHAR(8000) =
'grant_type=client_credentials'
set @serviceUrl = 'https://login.microsoftonline.com/14[..]e2/oauth2/v2.0/token&client_secret=n[..]n1&client_id=1a[..]d4&scope=Mail.Read'
--print @serviceUrl
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'POST',
@serviceUrl,
'false'
Exec sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Type', 'application/x-www-form-urlencoded'
Exec sp_OAMethod @Object, 'send', null, @Body
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
print @ResponseText
Die Tenant ID habe ich geprüft, genauso wie den Schlüssel der App und die Client_id der App in Azure
Die App ist auch vom Administrator bestätigt und besitzt das Recht für Mail.Read(Exchange) & User.Read(MSGraph)
Wenn ich die Prozedur aber ausführe, kommt leider nichts zurück. Keine Fehlermeldung, einfach nichts.
Eigentlich erwarte ich den Bearer Token, ohne den ich aber nicht weiter komme.
Hat irgendwer eine Idee ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 612306
Url: https://administrator.de/contentid/612306
Ausgedruckt am: 22.11.2024 um 13:11 Uhr