Xojo Plugin
Xojo Plugin
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 Xojo Plugin Downloads
Dim success As Boolean
success = False
Dim rest As New Chilkat.Rest
success = rest.Connect("your.site.domain",443,True,True)
If (success <> True) Then
System.DebugLog(rest.LastErrorText)
Return
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 Chilkat.JsonObject
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 Chilkat.StringBuilder
success = jsonReq.EmitSb(sbReq)
success = rest.AddHeader("Content-Type","application/json")
Dim sbJson As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST","/rest/v10/oauth2/token",sbReq,sbJson)
If (success <> True) Then
System.DebugLog(rest.LastErrorText)
Return
End If
If (rest.ResponseStatusCode <> 200) Then
System.DebugLog("Received error response code: " + Str(rest.ResponseStatusCode))
System.DebugLog("Response body:")
System.DebugLog(sbJson.GetAsString())
Return
End If
Dim json As New Chilkat.JsonObject
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 Int32
Dim token_type As String
Dim scope As Boolean
Dim refresh_token As String
Dim refresh_expires_in As Int32
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"
// }
System.DebugLog("Example Completed.")