![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PHP ActiveX) curl with OAuth2 Client CredentialsSee more CURL ExamplesThis example shows how to run a simple CURL command with an OAuth2 access token for authorization. We use CURL to retrieve a SharePoint site ID, and Chilkat automatically fetches the OAuth2 access token using the provided credentials.Note: This example requires Chilkat v11.5.0 or greater.
<?php $success = 0; // This example will run the following curl command // curl -X GET "https://graph.microsoft.com/v1.0/sites/{{sharepoint_hostname}}:/sites/{{site_name}}" \ // -H "Authorization: Bearer ACCESS_TOKEN" \ // -H "Accept: application/json" $sb = new COM("Chilkat.StringBuilder"); $sb->AppendLn('curl -X GET \'https://graph.microsoft.com/v1.0/sites/{{sharepoint_hostname}}:/sites/{{site_name}}\' \\'); $sb->AppendLn(' -H \'Authorization: Bearer ACCESS_TOKEN\' \\'); $sb->AppendLn(' -H \'Accept: application/json\''); // Build the JSON that provides information for getting the OAuth2 access token using the OAuth2 client credentials flow. $jsonOAuth2 = new COM("Chilkat.JsonObject"); $jsonOAuth2->UpdateString('oauth2.client_id','CLIENT_ID'); $jsonOAuth2->UpdateString('oauth2.client_secret','CLIENT_SECRET'); $jsonOAuth2->UpdateString('oauth2.scope','https://graph.microsoft.com/.default'); $jsonOAuth2->UpdateString('oauth2.token_endpoint','https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token'); $httpCurl = new COM("Chilkat.HttpCurl"); // Provide the information for getting the OAuth2 access token from the token endpoint // Note: The Authorization header specified in the curl command will be ignored and replaced using the OAuth2 access token obtained at runtime from the token endpoint. $httpCurl->SetAuth($jsonOAuth2); // The placeholders {{sharepoint_hostname}} and {{site_name}} represent variables that must be defined before execution. // When DoYourThing runs the curl command, it automatically substitutes these placeholders with their corresponding values. // Below are the values assigned to these variables: $httpCurl->SetVar('sharepoint_hostname','example.sharepoint.com'); $httpCurl->SetVar('site_name','test'); // Run the curl command. $success = $httpCurl->DoYourThing($sb->getAsString()); if ($success == 0) { print $httpCurl->LastErrorText . "\n"; exit; } $responseJson = new COM("Chilkat.JsonObject"); $responseJson->EmitCompact = 0; $httpCurl->GetResponseJson($responseJson); $statusCode = $httpCurl->StatusCode; print 'response status code: ' . $statusCode . "\n"; print $responseJson->emit() . "\n"; ?> |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.