Sample code for 30+ languages & platforms
Java

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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        Rest rest = new Rest();

        try {
            rest.connect("your.site.domain", 443, true, true);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        rest.addHeader("Cache-Control", "no-cache");

        // The following code creates the JSON request body.
        // The JSON created by this code is shown below.
        JsonObject jsonReq = new 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"
        // }

        StringBuilder sbReq = new StringBuilder();
        jsonReq.emitSb(sbReq);

        rest.addHeader("Content-Type", "application/json");

        StringBuilder sbJson = new StringBuilder();
        try {
            rest.fullRequestSb("POST", "/rest/v10/oauth2/token", sbReq, sbJson);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        if (rest.getResponseStatusCode() != 200) {
            System.out.println("Received error response code: " + rest.getResponseStatusCode());
            System.out.println("Response body:");
            System.out.println(sbJson.getAsString());
            return;
        }

        JsonObject json = new JsonObject();
        json.loadSb(sbJson);

        // The following code parses the JSON response.
        // A sample JSON response is shown below the sample code.

        String access_token = json.stringOf("access_token");
        int expires_in = json.intOf("expires_in");
        String token_type = json.stringOf("token_type");
        boolean scope = json.isNullOf("scope");
        String refresh_token = json.stringOf("refresh_token");
        int refresh_expires_in = json.intOf("refresh_expires_in");
        String 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.out.println("Example Completed.");
    }
}