AutoIt
AutoIt
SugarCRM Authenticate
See more SugarCRM Examples
Demonstrates how to authenticate to the SugarCRM REST v10 API. This is how an OAuth2 access token is obtained.Chilkat AutoIt Downloads
Local $bSuccess = False
$oRest = ObjCreate("Chilkat.Rest")
$bSuccess = $oRest.Connect("your.site.domain",443,True,True)
If ($bSuccess <> True) Then
ConsoleWrite($oRest.LastErrorText & @CRLF)
Exit
EndIf
$oRest.AddHeader("Cache-Control","no-cache")
; The following code creates the JSON request body.
; The JSON created by this code is shown below.
$oJsonReq = ObjCreate("Chilkat.JsonObject")
$oJsonReq.UpdateString("grant_type","password")
$oJsonReq.UpdateString("client_id","sugar")
$oJsonReq.UpdateString("client_secret","CLIENT_SECRET")
$oJsonReq.UpdateString("username","admin")
$oJsonReq.UpdateString("password","password")
$oJsonReq.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"
; }
$oSbReq = ObjCreate("Chilkat.StringBuilder")
$oJsonReq.EmitSb($oSbReq)
$oRest.AddHeader("Content-Type","application/json")
$oSbJson = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/rest/v10/oauth2/token",$oSbReq,$oSbJson)
If ($bSuccess <> True) Then
ConsoleWrite($oRest.LastErrorText & @CRLF)
Exit
EndIf
If ($oRest.ResponseStatusCode <> 200) Then
ConsoleWrite("Received error response code: " & $oRest.ResponseStatusCode & @CRLF)
ConsoleWrite("Response body:" & @CRLF)
ConsoleWrite($oSbJson.GetAsString() & @CRLF)
Exit
EndIf
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.LoadSb($oSbJson)
; The following code parses the JSON response.
; A sample JSON response is shown below the sample code.
Local $sAccess_token
Local $iExpires_in
Local $sToken_type
Local $bScope
Local $sRefresh_token
Local $iRefresh_expires_in
Local $sDownload_token
$sAccess_token = $oJson.StringOf("access_token")
$iExpires_in = $oJson.IntOf("expires_in")
$sToken_type = $oJson.StringOf("token_type")
$bScope = $oJson.IsNullOf("scope")
$sRefresh_token = $oJson.StringOf("refresh_token")
$iRefresh_expires_in = $oJson.IntOf("refresh_expires_in")
$sDownload_token = $oJson.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"
; }
ConsoleWrite("Example Completed." & @CRLF)