login_api_call <- function(base_url, client_id, client_secret) {
login_url <- paste0(base_url, "api/3.0/login?client_id=", client_id,
"&client_secret=", client_secret)
httr::POST(login_url)
}
logout_api_call <- function(base_url, token) {
logout_url <- paste0(base_url, "api/3.0/logout")
httr::DELETE(logout_url,
httr::add_headers(Authorization = paste0("token ", token)))
}
query_api_call <- function(base_url, model, view, fields, filters,
limit = 1000, return_format) {
token <- token_cache$get("token")$token
query_url <- paste0(base_url, "api/3.0/queries/run/", return_format)
query_body <- list(model = model, view = view, fields = I(fields),
filters = filters, limit = limit)
if (length(filters) == 0) { query_body$filters <- NULL }
httr::with_config(httr::timeout(getOption("looker3.timeout", 7200)),
httr::POST(url = query_url,
httr::add_headers(Authorization = paste0("token ", token)),
body = query_body, encode = "json")
)
}
pull_look_api_call <- function(base_url, look_id, format, limit = 1000) {
token <- token_cache$get("token")$token
query_url <- paste0(base_url, "api/3.0/looks/", look_id, "/run/", format, "?limit=", limit)
httr::with_config(httr::timeout(getOption("looker3.timeout", 7200)),
httr::GET(url = query_url,
httr::add_headers(Authorization = paste0("token ", token)), encode = "json")
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.