Authorize googlesheets

Authorize googlesheets to view and manage your files. You will be directed to a web browser, asked to sign in to your Google account, and to grant googlesheets permission to operate on your behalf with Google Sheets and Google Drive. By default, these user credentials are cached in a file named .httr-oauth in the current working directory, from where they can be automatically refreshed, as necessary.

gs_auth(token = NULL, new_user = FALSE,
  key = getOption("googlesheets.client_id"),
  secret = getOption("googlesheets.client_secret"),
  cache = getOption("googlesheets.httr_oauth_cache"), verbose = TRUE)

optional; an actual token object or the path to a valid token stored as an .rds file


logical, defaults to FALSE. Set to TRUE if you want to wipe the slate clean and re-authenticate with the same or different Google account. This disables the .httr-oauth file in current working directory.

key, secret

the "Client ID" and "Client secret" for the application; defaults to the ID and secret built into the googlesheets package


logical indicating if googlesheets should cache credentials in the default cache file .httr-oauth


logical; do you want informative messages?


Most users, most of the time, do not need to call this function explicitly -- it will be triggered by the first action that requires authorization. Even when called, the default arguments will often suffice. However, when necessary, this function allows the user to

  • force the creation of a new token

  • retrieve current token as an object, for possible storage to an .rds file

  • read the token from an object or from an .rds file

  • provide your own app key and secret -- this requires setting up a new project in Google Developers Console

  • prevent caching of credentials in .httr-oauth

In a direct call to gs_auth, the user can provide the token, app key and secret explicitly and can dictate whether interactively-obtained credentials will be cached in .httr_oauth. If unspecified, these arguments are controlled via options, which, if undefined at the time googlesheets is loaded, are defined like so:


Set to option googlesheets.client_id, which defaults to a client ID that ships with the package


Set to option googlesheets.client_secret, which defaults to a client secret that ships with the package


Set to option googlesheets.httr_oauth_cache, which defaults to TRUE

To override these defaults in persistent way, predefine one or more of them with lines like this in a .Rprofile file:

options(googlesheets.client_id = "FOO",
        googlesheets.client_secret = "BAR",
        googlesheets.httr_oauth_cache = FALSE)

See Startup for possible locations for this file and the implications thereof.

More detail is available from Using OAuth 2.0 for Installed Applications. See gs_webapp_auth_url and gs_webapp_get_token for functions that execute the "web server application" flow.


an OAuth token object, specifically a Token2.0, invisibly

See Also

Other auth functions: gd_user, gs_deauth

  • gs_auth
## load/refresh existing credentials, if available
## otherwise, go to browser for authentication and authorization

## force a new token to be obtained
gs_auth(new_user = TRUE)

## store token in an object and then to file
ttt <- gs_auth()
saveRDS(ttt, "ttt.rds")

## load a pre-existing token
gs_auth(token = ttt)       # from an object
gs_auth(token = "ttt.rds") # from .rds file
# }
Documentation reproduced from package googlesheets, version 0.3.0, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.