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
(Ruby) 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
require 'chilkat' # 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 = Chilkat::CkHttp.new() req = Chilkat::CkHttpRequest.new() 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 is a CkHttpResponse resp = http.PostUrlEncoded(url,req) if (http.get_LastMethodSuccess() != true) print http.lastErrorText() + "\n"; exit end statusCode = resp.get_StatusCode() print "Response status code = " + statusCode.to_s() + "\n"; json = Chilkat::CkJsonObject.new() 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.put_AuthToken(json.stringOf("access_token")) print "access token: " + http.authToken() + "\n"; sbResponse = Chilkat::CkStringBuilder.new() success = http.QuickGetSb("https://graph.microsoft.com/v1.0/users",sbResponse) if (success != true) print http.lastErrorText() + "\n"; exit end json.LoadSb(sbResponse) json.put_EmitCompact(false) print "Status code = " + http.get_LastStatus().to_s() + "\n"; if (http.get_LastStatus() != 200) print json.emit() + "\n"; print "Failed." + "\n"; end print json.emit() + "\n"; # 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 < count_i json.put_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 < count_j json.put_J(j) j = j + 1 end i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.