Skip to content

carnevalle/cartodbclient-php

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This is a very simple PHP library to make use of the CartoDB API as easy as possible. It does not cover the whole API, just the authentication bit (using OAuth) and running SQL queries. If you want to learn more about the CartoDB API check out the documentation

The library is presented as a single file with very few dependencies to make it as easy as possible to use it.

Requirements

Example use

You'll need to get an API key and secret from http://cartodb.com

Then is pretty simple

<?php
require_once 'cartodb.class.php';

$config = array();

$config['key'] = 'key';
$config['secret'] = 'secret';
$config['email'] = 'mail@example.com';
$config['password'] = 'password';
$config['subdomain'] = 'subdomain';

# Create the client using the API key and Secret.
$cartodb =  new CartoDBClient($config);

# Check if the key and secret work fine and you are authorized
if(!$cartodb->authorized) {
    echo("There is a problem authenticating, check the key and secret");
    die();
}

# Now we can perform queries straigh away. The second param indicates if you want
# the result to be json_decode (true) or just return the raw json string

$result = $cartodb->runSql("SELECT *,geojson(the_geom) FROM my_table",false);
echo($result);

?>

We are working still on the docs, but basically you can run any SQL supported by PostgreSQL and PostGIS. You can also concatenate the queries with ";" to insert multiple records in one shot for example.

Changelog

  • 2014/02/06 : createTable() signature modified (no longer supports sending schema, just table name). Improved documentation of insertRow() method and token tmp storage to allow multi-account testing.
  • 2014/02/05 : Deprecated getTables() and dropTable(), no longer present in the API endpoints. Added getTableVisualizations() and dropTableVisualization() to provide same functionality (although slower and performing more queries).

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%