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
(AutoIt) 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
; 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 $oHttp = ObjCreate("Chilkat.Http") $oReq = ObjCreate("Chilkat.HttpRequest") $oReq.AddParam "client_secret","CLIENT_SECRET" $oReq.AddParam "client_id","CLIENT_ID" $oReq.AddParam "scope","https://graph.microsoft.com/.default" $oReq.AddParam "grant_type","client_credentials" ; Use your own tenant ID, for example 4d8fdd66-66d1-43b0-ae5c-e31b4b7de5cd Local $sUrl = "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" Local $oResp = $oHttp.PostUrlEncoded($sUrl,$oReq) If ($oHttp.LastMethodSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf Local $iStatusCode = $oResp.StatusCode ConsoleWrite("Response status code = " & $iStatusCode & @CRLF) $oJson = ObjCreate("Chilkat.JsonObject") $oJson.Load($oResp.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: $oHttp.AuthToken = $oJson.StringOf("access_token") ConsoleWrite("access token: " & $oHttp.AuthToken & @CRLF) $oSbResponse = ObjCreate("Chilkat.StringBuilder") Local $bSuccess = $oHttp.QuickGetSb("https://graph.microsoft.com/v1.0/users",$oSbResponse) If ($bSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf $oJson.LoadSb($oSbResponse) $oJson.EmitCompact = False ConsoleWrite("Status code = " & $oHttp.LastStatus & @CRLF) If ($oHttp.LastStatus <> 200) Then ConsoleWrite($oJson.Emit() & @CRLF) ConsoleWrite("Failed." & @CRLF) EndIf ConsoleWrite($oJson.Emit() & @CRLF) ; 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 Local $sOdata_id Local $sDisplayName Local $sGivenName Local $sJobTitle Local $sMail Local $sMobilePhone Local $sOfficeLocation Local $sPreferredLanguage Local $surname Local $sUserPrincipalName Local $sId Local $iJ Local $iCount_j Local $sOdata_context = $oJson.StringOf("""@odata.context""") Local $i = 0 Local $iCount_i = $oJson.SizeOfArray("value") While $i < $iCount_i $oJson.I = $i $sOdata_id = $oJson.StringOf("value[i].""@odata.id""") $sDisplayName = $oJson.StringOf("value[i].displayName") $sGivenName = $oJson.StringOf("value[i].givenName") $sJobTitle = $oJson.StringOf("value[i].jobTitle") $sMail = $oJson.StringOf("value[i].mail") $sMobilePhone = $oJson.StringOf("value[i].mobilePhone") $sOfficeLocation = $oJson.StringOf("value[i].officeLocation") $sPreferredLanguage = $oJson.StringOf("value[i].preferredLanguage") $surname = $oJson.StringOf("value[i].surname") $sUserPrincipalName = $oJson.StringOf("value[i].userPrincipalName") $sId = $oJson.StringOf("value[i].id") $iJ = 0 $iCount_j = $oJson.SizeOfArray("value[i].businessPhones") While $iJ < $iCount_j $oJson.J = $iJ $iJ = $iJ + 1 Wend $i = $i + 1 Wend |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.