Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

gar_api_generator

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)

googleAuthR

Authenticate and Create Google APIs

v1.4.0
MIT + file LICENSE
Authors
Mark Edmondson [aut, cre] (<https://orcid.org/0000-0002-8434-3881>), Jennifer Bryan [ctb], Johann deBoer [ctb], Neal Richardson [ctb], David Kulp [ctb], Joe Cheng [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.