Function GetAzureADDomains(clientId As String, clientSecret As String, tenantId As String) As Variant
Dim accessToken As String
Dim apiUrl As String
Dim xmlhttp As Object
Dim response As String
Dim domains() As String
' Obtenez un jeton d'accès
accessToken = GetAzureADAccessToken(clientId, clientSecret, tenantId)
' URL pour récupérer la liste des domaines Azure AD
apiUrl = "https://graph.microsoft.com/v1.0/domains"
' Créez une requête HTTP
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
' Configurez la requête avec le jeton d'accès
xmlhttp.Open "GET", apiUrl, False
xmlhttp.setRequestHeader "Authorization", "Bearer " & accessToken
' Envoyez la requête
xmlhttp.send
' Récupérez la réponse
response = xmlhttp.responseText
' Analysez la réponse JSON pour obtenir les domaines
' Note: Cela nécessite un analyseur JSON approprié, qui n'est pas fourni ici pour la simplicité
' Vous pourriez utiliser une bibliothèque externe ou écrire votre propre analyseur JSON
' Exemple de parsing JSON (à personnaliser selon la structure exacte de la réponse)
' Ici, on suppose que la réponse contient une liste de domaines sous la clé "value"
domains = ParseJSON(response, "value")
' Retournez le tableau de domaines
GetAzureADDomains = domains
End Function
Function ParseJSON(jsonString As String, key As String) As Variant
' Cette fonction peut nécessiter une adaptation en fonction de la structure exacte de votre JSON
' Ici, on suppose que le JSON est simple et le résultat est une liste de chaînes sous la clé spécifiée
Dim jsonObject As Object
Dim items As Object
Dim item As Variant
Dim result() As String
Dim i As Integer
' Analysez le JSON
Set jsonObject = JsonConverter.ParseJson(jsonString)
' Obtenez les éléments sous la clé spécifiée
Set items = jsonObject(key)
' Initialisez le tableau de résultats
ReDim result(items.Count - 1)
' Remplissez le tableau avec les valeurs
For i = 0 To items.Count - 1
result(i) = items(i)
Next i
' Retournez le tableau de résultats
ParseJSON = result
End Function