Sample code for 30+ languages & platforms
Java

GeoOp - Export Clients to CSV

See more GeoOp Examples

Export client data to a CSV.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Csv;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.OAuth2;
import com.chilkatsoft.chilkat2.Rest;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // This example also assumes an OAuth2 access token was previously fetched.
        // and saved in a JSON file.

        // First get our previously obtained access token.
        // {"access_token":"e6dqdG....mzjpT04w==","token_type":"Bearer","expires_in":2592000,"owner_id":999236}
        JsonObject jsonToken = new JsonObject();
        jsonToken.loadFile("qa_data/tokens/geoop.json");

        // This example assumes we previously obtained an access token
        OAuth2 oauth2 = new OAuth2();
        oauth2.setAccessToken(jsonToken.stringOf("access_token"));

        Rest rest = new Rest();

        // Connect to GeoOp and send the following GET request:

        // GET /users HTTP/1.1
        // Host: api.geoop.com
        boolean bAutoReconnect = true;
        String responseBody;
        try {
            rest.connect("api.geoop.com", 443, true, bAutoReconnect);

            // Provide the authentication credentials (i.e. the access token)
            rest.setAuthOAuth2(oauth2);

            // Set the X-Version header.
            rest.addHeader("X-Version", "1.0");

            responseBody = rest.fullRequestNoBody("GET", "/clients");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        JsonObject json = new JsonObject();
        json.setEmitCompact(false);

        // If the response status code did not indicate success, then see what happened..
        if (rest.getResponseStatusCode() != 200) {
            System.out.println("Request Header: ");
            System.out.println(rest.getLastRequestHeader());
            System.out.println("----");
            System.out.println("Response StatusCode = " + rest.getResponseStatusCode());
            System.out.println("Response StatusLine: " + rest.getResponseStatusText());
            System.out.println("Response Header:");
            System.out.println(rest.getResponseHeader());
            json.load(responseBody);
            System.out.println(json.emit());
            return;
        }

        json.load(responseBody);
        // Show the full JSON response.. (see below)
        System.out.println(json.emit());
        System.out.println("---");

        Csv csv = new Csv();
        csv.setHasColumnNames(true);
        csv.setColumnName(0, "id");
        csv.setColumnName(1, "companyName");
        csv.setColumnName(2, "businessType");
        csv.setColumnName(3, "account_id");
        csv.setColumnName(4, "address_line1");
        csv.setColumnName(5, "address_city");
        csv.setColumnName(6, "address_postcode");

        // Iterate over each client and populate the CSV...
        int numRecords = json.sizeOfArray("clients");
        int i = 0;
        while (i < numRecords) {
            json.setI(i);
            csv.setCellByName(i, "id", json.stringOf("clients[i].id"));
            csv.setCellByName(i, "companyName", json.stringOf("clients[i].companyName"));
            csv.setCellByName(i, "businessType", json.stringOf("clients[i].businessType"));
            csv.setCellByName(i, "account_id", json.stringOf("clients[i].account.id"));
            csv.setCellByName(i, "address_line1", json.stringOf("clients[i].address.line1"));
            csv.setCellByName(i, "address_city", json.stringOf("clients[i].address.city"));
            csv.setCellByName(i, "address_postcode", json.stringOf("clients[i].address.postcode"));
            i = i + 1;
        }

        // Show the CSV.
        System.out.println(csv.saveToString());

        // Save the CSV.
        csv.saveFile("qa_output/clients.csv");

        // ---------------------------------------------------------------------
        // The full JSON response containing all client data:
        //
        //     {
        //       "result": "success",
        //       "clients": [
        //         {
        //           "id": 9555868,
        //           "firstName": "[ Demo",
        //           "lastName": "Client ]",
        //           "companyName": "Miller Park Cafe",
        //           "businessType": "Licensed Restaurant",
        //           "leadSource": "",
        //           "emailAddress": null,
        //           "phoneNumber": null,
        //           "mobileNumber": null,
        //           "faxNumber": null,
        //           "notes": "",
        //           "deleted": false,
        //           "hasRecentJobs": true,
        //           "created": "2016-10-26T12:05:09+00:00",
        //           "modified": "2016-10-26T12:05:09+00:00",
        //           "billingClient": null,
        //           "account": {
        //             "id": 39409
        //           },
        //           "address": {
        //             "line1": "1732 Pennsylvania Avenue NW",
        //             "line2": "",
        //             "city": "Washington",
        //             "postcode": "20006",
        //             "latitude": 38.899037,
        //             "longitude": -77.040207
        //           },
        //           "mailingAddress": {}
        //         },
        //         {
        //           "id": 9571176,
        //           "firstName": "Mildred",
        //           "lastName": "Vanildred",
        //           "companyName": "Ice Cream Industries",
        //           "businessType": "Ice Cream",
        //           "leadSource": null,
        //           "emailAddress": "milli@icecreamindustries.com",
        //           "phoneNumber": "678-555-1012",
        //           "mobileNumber": null,
        //           "faxNumber": null,
        //           "notes": "",
        //           "deleted": false,
        //           "hasRecentJobs": true,
        //           "created": "2016-10-31T12:32:12+00:00",
        //           "modified": "2016-10-31T12:32:13+00:00",
        //           "billingClient": null,
        //           "account": {
        //             "id": 39409
        //           },
        //           "address": {
        //             "line1": "2101 West Roosevelt Road",
        //             "line2": null,
        //             "city": "Wheaton",
        //             "postcode": "60187",
        //             "latitude": 41.8581778,
        //             "longitude": -88.1380111
        //           },
        //           "mailingAddress": {
        //             "line1": "2101 West Roosevelt Road",
        //             "line2": null,
        //             "city": "Wheaton"
        //           }
        //         },
        //         {
        //           "id": 9571218,
        //           "firstName": "Joe",
        //           "lastName": "Miller",
        //           "companyName": "Miller Bakery",
        //           "businessType": "Licensed Bakery",
        //           "leadSource": "",
        //           "emailAddress": null,
        //           "phoneNumber": null,
        //           "mobileNumber": null,
        //           "faxNumber": null,
        //           "notes": "",
        //           "deleted": false,
        //           "hasRecentJobs": true,
        //           "created": "2016-10-31T13:02:07+00:00",
        //           "modified": "2016-10-31T13:02:07+00:00",
        //           "billingClient": null,
        //           "account": {
        //             "id": 39409
        //           },
        //           "address": {
        //             "line1": "1832 Pennsylvania Avenue NW",
        //             "line2": "",
        //             "city": "Washington",
        //             "postcode": "20006",
        //             "latitude": 0,
        //             "longitude": 0
        //           },
        //           "mailingAddress": {
        //             "line1": "",
        //             "line2": "",
        //             "city": ""
        //           }
        //         }
        //       ],
        //       "metadata": {
        //         "page": 1,
        //         "pagesCount": 1,
        //         "recordsPerPage": 20,
        //         "recordsCount": 3
        //       }
        //     }
        //
    }
}