#' Function to get a valid token for the API.
#'
#' The token is used in Authorization header in each request to
#' the API.
#'
#' @param client_id A client id from MK Online.
#' @param client_secret A client secret from MK Online.
ws_token <- function(client_id = NULL, client_secret = NULL){
  if(is.null(client_id)){
    client_id <- Sys.getenv("WS_CLIENT_ID")
  }
  if(is.null(client_secret)){
    client_secret <- Sys.getenv("WS_CLIENT_SECRET")
  }
  if(client_id == "" | client_secret == ""){
    stop("The MK_CLIENT_ID or the MK_CLIENT_SECRET variables are not saved in the .Renviron file.")
  }
  auth <- httr::authenticate(user = client_id, password = client_secret)
  httr::set_config(auth)
  cnt <- httr::POST(url = "https://auth.wattsight.com/oauth2/token",
                    httr::user_agent("https://github.com/krose/mkonline2"),
                    body = list(grant_type = "client_credentials"),
                    encode = "form")
  if(httr::http_error(cnt)){
    stop(paste0("The token could not be retrieved. Error message: ",
                httr::http_status(cnt)$message))
  }
  cnt <- httr::content(cnt)
  cnt
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.