These functions give more control over and visibility into the auth configuration than drive_auth() does. drive_auth_configure() lets the user specify their own:

  • OAuth app, which is used when obtaining a user token.

  • API key. If googledrive is de-authorized via drive_deauth(), all requests are sent with an API key in lieu of a token. See the vignette How to get your own API credentials for more. If the user does not configure these settings, internal defaults are used. drive_oauth_app() and drive_api_key() retrieve the currently configured OAuth app and API key, respectively.

drive_auth_configure(app, path, api_key)





OAuth app, in the sense of httr::oauth_app().


JSON downloaded from Google Cloud Platform Console, containing a client id (aka key) and secret, in one of the forms supported for the txt argument of jsonlite::fromJSON() (typically, a file path or JSON string).


API key.


  • drive_auth_configure(): An object of R6 class gargle::AuthState, invisibly.

  • drive_oauth_app(): the current user-configured httr::oauth_app().

  • drive_api_key(): the current user-configured API key.

See also

Other auth functions: drive_auth(), drive_deauth()


# see and store the current user-configured OAuth app (probaby `NULL`) (original_app <- drive_oauth_app())
# see and store the current user-configured API key (probaby `NULL`) (original_api_key <- drive_api_key())
if (require(httr)) { # bring your own app via client id (aka key) and secret google_app <- httr::oauth_app( "my-awesome-google-api-wrapping-package", key = "", secret = "abcdefghijklmnopqrstuvwxyz" ) google_key <- "the-key-I-got-for-a-google-API" drive_auth_configure(app = google_app, api_key = google_key) # confirm the changes drive_oauth_app() drive_api_key() }
#> Loading required package: httr
#> [1] "the-key-I-got-for-a-google-API"
if (FALSE) { ## bring your own app via JSON downloaded from Google Developers Console drive_auth_configure( path = "/path/to/the/JSON/you/downloaded/from/google/dev/console.json" ) } # restore original auth config drive_auth_configure(app = original_app, api_key = original_api_key)