Skip to content

asitav-sen/KoboconnectR

Repository files navigation

KoboconnectR

CRAN status CRAN checks License: GPL-3.0

The goal of KoboconnectR is to facilitate data extraction from Kobotoolbox projects/assets into R, instead of downloading the individual spreadsheet files.

Installation

CRAN version can be downloaded with:

install.packages("KoboconnectR") 

The effort is still in its early stage. The development version can be installed from GitHub with:

# install.packages("devtools")
devtools::install_github("asitav-sen/KoboconnectR")

Getting started

Before being able to use the kobotoolbox API, one needs to set up API token. The kobotoolbox documentation lists multiple ways for one to extract the token value. If there is a token, the easiest way to retrieve it is by using get_kobo_token() function.

kobotools_kpi_data(assetid = "assetid", url = "eu.kobotoolbox.org", uname = "username", pwd = "password")

To find the asset id, one can use the kobotools_api() function that returns a list of assets the user has access to.

kobotools_api(url = "eu.kobotoolbox.org", simplified = T, uname = "userid", pwd = "password")

Downloading data

KoboconnectR::kobo_df_download(
  uname = "username",
  pwd = "password", assetid = "assetid",
  all = "false", lang = "_default",
  hierarchy = "false", include_grp = "true", grp_sep = "/", fsep = ";",
  multi_sel = "both", media_url = "true", fields = NULL, sub_ids = NULL, sleep = 2
)

IF THE DOWNLOAD FAILS, TRY INCREASING THE SLEEP PARAMETER (use the latest version please, dev version, if required).

For further details, check the vignette.

Contribution

The package is stable but still in early stages of development. Any help to enhance it further will be highly appreciated. Please feel free to fork, add/modify and create pull requests.

Issues and Suggestions

Please feel free to add issue of suggestions in github

Dependencies

The following packages are required to install and run this package.

  1. Package httr2
  2. Package jsonlite
  3. Package curl
  4. Package mime
  5. Package openssl
  6. Package R6
  7. Package methods
  8. Package readxl
  9. Package rlang
  10. Package purrr