java client for cartodb SQL API
Java
Latest commit a517a38 Feb 15, 2016 @ethervoid ethervoid Merge pull request #11 from CartoDB/jsanz_add_user_check
Jsanz add user check
Permalink
Failed to load latest commit information.
lib Changed the response mapper and fixed the sql api url Feb 11, 2016
src/com/cartodb
test/com/cartodb Added notices to the response wrapper Feb 11, 2016
.gitignore added eclipse metadata files Feb 15, 2016
LICENSE added LICENSE Mar 1, 2013
README.md Update README.md Feb 11, 2016
build.gradle Gradle task to build the jar Feb 11, 2016
build.xml

README.md

CartoDB Java Client

Description

Tiny CartoDB Java client that can be instantiated as regular (public) or secured (private). Once instantiated, you can send queries to CartoDB and get a JSON string as response.

Building

In order to build a new JAR for this SDK you need to have installed Gradle which is the building system.

Once you have Gradle installed, you must run gradle clean to remove previous builds and gradle build to generate the new JAR.

After the build process is finished you could find the new generated JAR in the gradleBuild/libs folder

Usage

With this library you have access to private and public tables. In order to access to public tables you do not need to be authenticated but if you want to read or write data to a private table or write data to a public table you need to.

CartoDB provides two ways to auth, oauth or api key, please read CartoDB Authentication documentation for detailed info on this topic.

Using oAuth

//Access to your private table or update your table
CartoDBClientIF cartoDBCLient= new SecuredCartoDBClient("youraccount","yourpassword","consumerKey","consumerSecret");
System.out.println(cartoDBCLient.executeQuery("UPDATE yourtable SET yourvalue = 'test' WHERE yourid = 1"));

Using API key

//Access to your private table or update your table using the api key
CartoDBClientIF cartoDBCLient= new ApiKeyCartoDBClient("youraccount", YOUR_API_KEY);
System.out.println(cartoDBCLient.executeQuery("UPDATE yourtable SET yourvalue = 'test' WHERE yourid = 1"));

Access to Public tables (no auth required)

//Access to your public table
CartoDBClientIF cartoDBCLient= new CartoDBClient("youraccount");
System.out.println(cartoDBCLient.executeQuery("SELECT * FROM yourtable LIMIT 1"));

get results as java object

executeQuery method returns the raw json response. If you want to retrieve the json already parsed into a java object you can use request method, see next example:

// get rows as a Map
CartoDBResponse<Map<String, Object>> res = cartoDBCLient.request("select * from mytable limit 1");
System.out.print(res.getTotal_rows(), 1);
System.out.print(res.getRows().get(0).get("cartodb_id"));

Dependencies

Included in lib folder

TODO

  • Include error JSON on HTTP response 400.

License

read LICENSE file