2

I'm trying to use survey data collected by Kobotoolbox with CartoDB. I've reviewed the API's docs (https://kc.kobotoolbox.org/api/v1/), and I'm doing my best to follow them to connect my survey's data, but I can't seem to get it right. I'm left wondering if it's even possible.

You can access your data via basic and token authentication. I would like to do token authentication. To access your data via token authentication, you have to register it. . I've registered my application with the following details:

  • redirect_uri: [username].cartodb.com
  • clientID: xxxx (40 characters in total actually)
  • response_type should be "code"
  • state: "a random state string that you client application will get when redirection happens"

The example given for a successful token authentication to a user's protected data in the KoboToolbox API is as follows: http://localhost:8000/o/authorize?client_id=xxxx8&response_type=code&state=xyz.

Also, a successful call to the data for a specific survey looks as follows:
curl -X GET https://kc.kobotoolbox.org/api/v1/data/yyyy (where yyyy is the unique ID for that survey)

If that's the case, should I just be able to insert my call to my specific survey into the "connect" to dataset field in cartoDB in this format?

https://kc.kobotoolbox.org/api/v1/data/yyyy.csv/o/authorize?client_id=xxxx8&response_type=code&state=xyz

If that is not the correct format, what format should i use? Or am i trying this completely incorrectly, and what should i be doing then to access data from KoboToolbox?

Fyi, KoboToolbox is one of a number of resources in the OpenRosa ecosystem of open source tools for data collection in areas without data collection - this ecosystem includes Open Data Kit (ODK), FormHub (depricated) Enketo, Ona, SMAP server, and others. If users have experience with one, I imagine the APIs for others would be very similar, and I'd be interested in hearing from anyone with experience working with them and CartoDB.

1

I spoke with CartoDB Support. Quickly and easily connecting to an external data source via the CartoDB dashboard is an "external connector" issue, and they only have external connectors set up for a small number of services (e.g. Google, Dropbox, Box, Twitter, etc).

As of right now (June 2016) they do not have external connectors for the Kobotoolbox API or others in the Open Rosa ecosystem. So you can't do a simple connection to the API and pull in the data. You can upload Kobotoolbox (or other) data to CartoDB via an external application that uploads to its database via its SQL API or Import API, but it's not the super easy data import I was led to believe it would be by the sales guy I spoke with initially.

Btw, note that if you do set up your own app to ingest and broadcast the Kobotoolbox data, CartoDB doesn't accept JSON data. Be sure to check for allowable data types in setting up your application. See Supported Geospatial Data Formats at the CartoDB website.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.