![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • 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 Extension) SugarCRM AuthenticateDemonstrates how to authenticate to the SugarCRM REST v10 API. This is how an OAuth2 access token is obtained.
<?php include("chilkat.php"); // Use "chilkat_9_5_0.php" for versions of Chilkat < 10.0.0 $rest = new CkRest(); $success = $rest->Connect('your.site.domain',443,true,true); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } $rest->AddHeader('Cache-Control','no-cache'); // The following code creates the JSON request body. // The JSON created by this code is shown below. $jsonReq = new CkJsonObject(); $jsonReq->UpdateString('grant_type','password'); $jsonReq->UpdateString('client_id','sugar'); $jsonReq->UpdateString('client_secret','CLIENT_SECRET'); $jsonReq->UpdateString('username','admin'); $jsonReq->UpdateString('password','password'); $jsonReq->UpdateString('platform','custom_api'); // The JSON request body created by the above code: // { // "grant_type": "password", // "client_id": "sugar", // "client_secret": "CLIENT_SECRET", // "username": "admin", // "password": "password", // "platform": "custom_api" // } $sbReq = new CkStringBuilder(); $jsonReq->EmitSb($sbReq); $rest->AddHeader('Content-Type','application/json'); $sbJson = new CkStringBuilder(); $success = $rest->FullRequestSb('POST','/rest/v10/oauth2/token',$sbReq,$sbJson); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } if ($rest->get_ResponseStatusCode() != 200) { print 'Received error response code: ' . $rest->get_ResponseStatusCode() . "\n"; print 'Response body:' . "\n"; print $sbJson->getAsString() . "\n"; exit; } $json = new CkJsonObject(); $json->LoadSb($sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. $access_token = $json->stringOf('access_token'); $expires_in = $json->IntOf('expires_in'); $token_type = $json->stringOf('token_type'); $scope = $json->IsNullOf('scope'); $refresh_token = $json->stringOf('refresh_token'); $refresh_expires_in = $json->IntOf('refresh_expires_in'); $download_token = $json->stringOf('download_token'); // A sample JSON response body that is parsed by the above code: // { // "access_token": "c6d495c9-bb25-81d2-5f81-533ef6479f9b", // "expires_in": 3600, // "token_type": "bearer", // "scope": null, // "refresh_token": "cbc40e67-12bc-4b56-a1d9-533ef62f2601", // "refresh_expires_in": 1209600, // "download_token": "cc5d1a9f-6627-3349-96e5-533ef6b1a493" // } print 'Example Completed.' . "\n"; ?> |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.