B4X
B4X
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 B4X Downloads
Dim success As Boolean = False
Dim rest As ChilkatRest
rest.Initialize("rest")
success = rest.Connect("your.site.domain", 443, True, True)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
rest.AddHeader("Cache-Control", "no-cache")
' The following code creates the JSON request body.
' The JSON created by this code is shown below.
Dim jsonReq As ChilkatJsonObject
jsonReq.Initialize
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"
' }
Dim sbReq As ChilkatStringBuilder
sbReq.Initialize
jsonReq.EmitSb(sbReq)
rest.AddHeader("Content-Type", "application/json")
Dim sbJson As ChilkatStringBuilder
sbJson.Initialize
success = rest.FullRequestSb("POST", "/rest/v10/oauth2/token", sbReq, sbJson)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
If rest.ResponseStatusCode <> 200 Then
Log("Received error response code: " & rest.ResponseStatusCode)
Log("Response body:")
Log(sbJson.GetAsString)
Return
End If
Dim json As ChilkatJsonObject
json.Initialize
json.LoadSb(sbJson)
' The following code parses the JSON response.
' A sample JSON response is shown below the sample code.
Dim access_token As String
Dim expires_in As Int
Dim token_type As String
Dim scope As Boolean
Dim refresh_token As String
Dim refresh_expires_in As Int
Dim download_token As String
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"
' }
Log("Example Completed.")