library(tidyverse)
## necessary only during gargle development to get devtools' shim for
## system.file()
load_all()
source(
system.file("discovery-doc-ingest", "ingest-functions.R", package = "gargle")
)
x <- download_discovery_document("drive:v3")
dd <- read_discovery_document(x)
methods <- get_raw_methods(dd)
methods <- methods %>% map(groom_properties, dd)
methods <- methods %>% map(add_schema_params, dd)
methods <- methods %>% map(add_global_params, dd)
## duplicate two methods to create a companion for media
## simpler to do this here, in data, than in wrapper functions
mediafy <- function(target_id, methods) {
new <- target_method <- methods[[target_id]]
new$id <- paste0(target_id, ".media")
new$path <-
pluck(target_method, "mediaUpload", "protocols", "simple", "path")
new$parameters <- c(
new$parameters,
uploadType = list(list(type = "string", required = TRUE, location = "query"))
)
methods[[new$id]] <- new
methods
}
methods <- mediafy("drive.files.update", methods)
methods <- mediafy("drive.files.create", methods)
.endpoints <- methods
attr(.endpoints, "base_url") <- dd$rootUrl
## View(.endpoints)
# usually you would execute this from *within* the target package,
# but I cannot do so in this example
# please excuse the shenanigans to temporarily target the googledrive project
usethis::with_project(
"~/rrr/googledrive",
# line below is the important one!
usethis::use_data(.endpoints, internal = TRUE, overwrite = TRUE)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.