gar_api_generator {googleAuthR} | R Documentation |
googleAuthR data fetch function generator
Description
This function generates other functions for use with Google APIs
Usage
gar_api_generator(
baseURI,
http_header = c("GET", "POST", "PUT", "DELETE", "PATCH"),
path_args = NULL,
pars_args = NULL,
data_parse_function = NULL,
customConfig = NULL,
simplifyVector = getOption("googleAuthR.jsonlite.simplifyVector"),
checkTrailingSlash = TRUE
)
Arguments
baseURI |
The stem of the API call. |
http_header |
Type of http request. |
path_args |
A named list with name=folder in request URI, value=the function variable. |
pars_args |
A named list with name=parameter in request URI, value=the function variable. |
data_parse_function |
A function that takes a request response, parses it and returns the data you need. |
customConfig |
list of httr options such as use_proxy or add_headers that will be added to the request. |
simplifyVector |
Passed to fromJSON for response parsing |
checkTrailingSlash |
Default TRUE will append a trailing slash to baseURI if missing |
Details
path_args and pars_args add default values to the baseURI. NULL entries are removed. Use "" if you want an empty argument.
You don't need to supply access_token for OAuth2 requests in pars_args, this is dealt with in gar_auth()
Add custom configurations to the request in this syntax:
customConfig = list(httr::add_headers("From" = "mark@example.com")
Value
A function that can fetch the Google API data you specify
Examples
## Not run:
library(googleAuthR)
## change the native googleAuthR scopes to the one needed.
options("googleAuthR.scopes.selected" = "email")
get_email <- function(){
f <- gar_api_generator("https://openidconnect.googleapis.com/v1/userinfo",
"POST",
data_parse_function = function(x) x$email,
checkTrailingSlash = FALSE)
f()
}
To use the above functions:
library(googleAuthR)
# go through authentication flow
gar_auth()
s <- get_email()
s
## End(Not run)