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
(PHP ActiveX) 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
<?php // 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 // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Http') $http = new COM("Chilkat.Http"); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.HttpRequest') $req = new COM("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 is a Chilkat.HttpResponse $resp = $http->PostUrlEncoded($url,$req); if ($http->LastMethodSuccess != 1) { print $http->LastErrorText . "\n"; exit; } $statusCode = $resp->StatusCode; print 'Response status code = ' . $statusCode . "\n"; // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject') $json = new COM("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'); print 'access token: ' . $http->AuthToken . "\n"; // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $sbResponse = new COM("Chilkat.StringBuilder"); $success = $http->QuickGetSb('https://graph.microsoft.com/v1.0/users',$sbResponse); if ($success != 1) { print $http->LastErrorText . "\n"; exit; } $json->LoadSb($sbResponse); $json->EmitCompact = 0; print 'Status code = ' . $http->LastStatus . "\n"; if ($http->LastStatus != 200) { print $json->emit() . "\n"; print 'Failed.' . "\n"; } 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->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->J = $j; $j = $j + 1; } $i = $i + 1; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.