Goal and Purpose

Quickbase use cases

Quickbase limitations

Installation

library(devtools)
install_github("mre011/Rqbase", force = TRUE)

Quickbase User setup

library(XML)
library(httr)

library(dplyr)
library(tidyr)

Free Trial Account

library(Rqbase)

URL <- "https://visresolutions.quickbase.com/"
username <- "meubanks@visresolutions.com"
password <- "rusergroup11"
qb_app_token <- "df7d5tacdupjsycqyjuww27z29f"

Create a handle to send an authentication ticket request

print(auth_ticket_handle)
ticket_handle <-
  auth_ticket_handle(URL = URL,
                     username = username,
                     password = password)
ticket_handle

Get an authentication ticket with handle

auth_ticket

my_ticket <-
auth_ticket(ticket_handle)

auth_ticket_handle(URL = URL,
                   username = username,
                   password = password) %>%
  auth_ticket()

Retrieve list of db_ids

my_dbs <- db_ids(URL = URL, qb_ticket_id = my_ticket)
my_dbs
my_dbs <- 
  separate(my_dbs, col = dbname, into = "dbname", sep = ":")
my_dbs_ls <- my_dbs$dbid
names(my_dbs_ls) <- my_dbs$dbname
my_dbs_ls

Get quickbase app data into R

my_dbs_ls[1]
qb_app_token
iris_response <- qb_do_query(URL = URL,
            qb_ticket_id = my_ticket,
            db_id = my_dbs_ls[2],
            app_token = qb_app_token)

Return many tables

lapply(my_dbs_ls, qb_do_query, 
       URL = URL,
       qb_ticket_id = my_ticket, 
       app_token = qb_app_token)

Parse html response and convert content to a dataframe

qb_parse(iris_response) %>%
  head()

Return all apps with functional

lapply(my_dbs_ls, function(x) {
  qb_do_query(db_id = x, 
       URL = URL,
       qb_ticket_id = my_ticket, 
       app_token = qb_app_token) %>%
    qb_parse() %>%
    str()
}) 

Future Developments:



mre011/Rqbase documentation built on May 23, 2019, 7:16 a.m.