der-marek
Goto Top

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):

	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 ?

Content-ID: 612306

Url: https://administrator.de/contentid/612306

Ausgedruckt am: 22.11.2024 um 13:11 Uhr