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
(CkPython) 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
import sys import 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() req = chilkat.CkHttpRequest() 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()) sys.exit() statusCode = resp.get_StatusCode() print("Response status code = " + str(statusCode)) json = chilkat.CkJsonObject() 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()) sbResponse = chilkat.CkStringBuilder() success = http.QuickGetSb("https://graph.microsoft.com/v1.0/users",sbResponse) if (success != True): print(http.lastErrorText()) sys.exit() json.LoadSb(sbResponse) json.put_EmitCompact(False) print("Status code = " + str(http.get_LastStatus())) if (http.get_LastStatus() != 200): print(json.emit()) print("Failed.") print(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 < 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 i = i + 1 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.