Sample code for 30+ languages & platforms
Visual Basic 6.0

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 Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

Dim rest As New ChilkatRest

success = rest.Connect("your.site.domain",443,1,1)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

success = 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 New ChilkatJsonObject
success = jsonReq.UpdateString("grant_type","password")
success = jsonReq.UpdateString("client_id","sugar")
success = jsonReq.UpdateString("client_secret","CLIENT_SECRET")
success = jsonReq.UpdateString("username","admin")
success = jsonReq.UpdateString("password","password")
success = 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 New ChilkatStringBuilder
success = jsonReq.EmitSb(sbReq)

success = rest.AddHeader("Content-Type","application/json")

Dim sbJson As New ChilkatStringBuilder
success = rest.FullRequestSb("POST","/rest/v10/oauth2/token",sbReq,sbJson)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

If (rest.ResponseStatusCode <> 200) Then
    Debug.Print "Received error response code: " & rest.ResponseStatusCode
    Debug.Print "Response body:"
    Debug.Print sbJson.GetAsString()
    Exit Sub
End If

Dim json As New ChilkatJsonObject
success = 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 Long
Dim token_type As String
Dim scope As Long
Dim refresh_token As String
Dim refresh_expires_in As Long
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"
' }

Debug.Print "Example Completed."