Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerShell) Microsoft Graph -- List UsersSee more Microsoft Graph ExamplesRetrieve a list of Microsoft Graph user objects. For more information, see https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # Get an access token with the required scope using client credentials... # See How to Create Microsoft Graph App (in Azure Portal) for Client Credentials Authentication $http = New-Object Chilkat.Http $req = New-Object Chilkat.HttpRequest $req.AddParam("client_secret","CLIENT_SECRET") $req.AddParam("client_id","CLIENT_ID") $req.AddParam("scope","https://graph.microsoft.com/.default") $req.AddParam("grant_type","client_credentials") # Use your own tenant ID, for example 4d8fdd66-66d1-43b0-ae5c-e31b4b7de5cd $url = "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" $resp = $http.PostUrlEncoded($url,$req) if ($http.LastMethodSuccess -ne $true) { $($http.LastErrorText) exit } $statusCode = $resp.StatusCode $("Response status code = " + $statusCode) $json = New-Object Chilkat.JsonObject $json.Load($resp.BodyStr) # ----------------------------------------------------- # Use the access token obtained from above. # Note: We don't need to re-fetch a new access token every time. An access token is valid # for some amount of time, typically an hour (3600 seconds) # Use your previously obtained access token here: $http.AuthToken = $json.StringOf("access_token") $("access token: " + $http.AuthToken) $sbResponse = New-Object Chilkat.StringBuilder $success = $http.QuickGetSb("https://graph.microsoft.com/v1.0/users",$sbResponse) if ($success -ne $true) { $($http.LastErrorText) exit } $json.LoadSb($sbResponse) $json.EmitCompact = $false $("Status code = " + $http.LastStatus) if ($http.LastStatus -ne 200) { $($json.Emit()) $("Failed.") } $($json.Emit()) # Sample output # { # "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users", # "value": [ # { # "@odata.id": "https://graph.microsoft.com/v2/6d8ddd66-68d1-43b0-af5c-e31b4b7dd5cd/directoryObjects/fca490d8-5918-4201-8079-c5dcbeafcdc9/Microsoft.DirectoryServices.User", # "businessPhones": [ # ], # "displayName": "Joe Sample", # "givenName": "Joe", # "jobTitle": null, # "mail": null, # "mobilePhone": null, # "officeLocation": null, # "preferredLanguage": null, # "surname": "Sample", # "userPrincipalName": "admin_chilkatsoft.com#EXT#@adminchilkatsoft.onmicrosoft.com", # "id": "fca490d8-5918-4201-8079-c5dcbeafcdc9" # } # ] # } # Use this online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON $odata_context = $json.StringOf("`"@odata.context`"") $i = 0 $count_i = $json.SizeOfArray("value") while ($i -lt $count_i) { $json.I = $i $odata_id = $json.StringOf("value[i].`"@odata.id`"") $displayName = $json.StringOf("value[i].displayName") $givenName = $json.StringOf("value[i].givenName") $jobTitle = $json.StringOf("value[i].jobTitle") $mail = $json.StringOf("value[i].mail") $mobilePhone = $json.StringOf("value[i].mobilePhone") $officeLocation = $json.StringOf("value[i].officeLocation") $preferredLanguage = $json.StringOf("value[i].preferredLanguage") $surname = $json.StringOf("value[i].surname") $userPrincipalName = $json.StringOf("value[i].userPrincipalName") $id = $json.StringOf("value[i].id") $j = 0 $count_j = $json.SizeOfArray("value[i].businessPhones") while ($j -lt $count_j) { $json.J = $j $j = $j + 1 } $i = $i + 1 } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.