PowerShell
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
$rest = New-Object Chilkat.Rest
$success = $rest.Connect("your.site.domain",443,$true,$true)
if ($success -ne $true) {
$($rest.LastErrorText)
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-Object Chilkat.JsonObject
$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-Object Chilkat.StringBuilder
$jsonReq.EmitSb($sbReq)
$rest.AddHeader("Content-Type","application/json")
$sbJson = New-Object Chilkat.StringBuilder
$success = $rest.FullRequestSb("POST","/rest/v10/oauth2/token",$sbReq,$sbJson)
if ($success -ne $true) {
$($rest.LastErrorText)
exit
}
if ($rest.ResponseStatusCode -ne 200) {
$("Received error response code: " + $rest.ResponseStatusCode)
$("Response body:")
$($sbJson.GetAsString())
exit
}
$json = New-Object Chilkat.JsonObject
$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"
# }
$("Example Completed.")