Set up app and scope for the current session
rb_drive_auth.Rd
Set up app and scope for the current session
Usage
rb_drive_auth(
client = NULL,
scopes = "https://www.googleapis.com/auth/drive.file",
email = gargle::gargle_oauth_email(),
cache = gargle::gargle_oauth_cache(),
use_oob = gargle::gargle_oob_default(),
path = NULL,
token = NULL
)
Arguments
- client
A Google client. See example, and dedicated gargle documentation.
- scopes
Defaults to `https://www.googleapis.com/auth/drive.file`. See Google api documentation for details
Optional. If specified,
email
can take several different forms:"jane@gmail.com"
, i.e. an actual email address. This allows the user to target a specific Google identity. If specified, this is used for token lookup, i.e. to determine if a suitable token is already available in the cache. If no such token is found,email
is used to pre-select the targeted Google identity in the OAuth chooser. (Note, however, that the email associated with a token when it's cached is always determined from the token itself, never from this argument)."*@example.com"
, i.e. a domain-only glob pattern. This can be helpful if you need code that "just works" for bothalice@example.com
andbob@example.com
.TRUE
means that you are approving email auto-discovery. If exactly one matching token is found in the cache, it will be used.FALSE
orNA
mean that you want to ignore the token cache and force a new OAuth dance in the browser.
Defaults to the option named
"gargle_oauth_email"
, retrieved bygargle_oauth_email()
(unless a wrapper package implements different default behavior).- cache
Specifies the OAuth token cache. Defaults to the option named
"gargle_oauth_cache"
, retrieved viagargle_oauth_cache()
.- use_oob
Whether to use out-of-band authentication (or, perhaps, a variant implemented by gargle and known as "pseudo-OOB") when first acquiring the token. Defaults to the value returned by
gargle_oob_default()
. Note that (pseudo-)OOB auth only affects the initial OAuth dance. If we retrieve (and possibly refresh) a cached token,use_oob
has no effect.If the OAuth client is provided implicitly by a wrapper package, its type probably defaults to the value returned by
gargle_oauth_client_type()
. You can take control of the client type by settingoptions(gargle_oauth_client_type = "web")
oroptions(gargle_oauth_client_type = "installed")
.- path
JSON identifying the service account, in one of the forms supported for the
txt
argument ofjsonlite::fromJSON()
(typically, a file path or JSON string).- token
A token with class Token2.0 or an object of httr's class
request
, i.e. a token that has been prepared withhttr::config()
and has a Token2.0 in theauth_token
component.
Examples
if (interactive()) {
google_client <- httr::oauth_app(
"my-very-own-google-app",
key = "123456789.apps.googleusercontent.com",
secret = "abcdefghijklmnopqrstuvwxyz"
)
rb_drive_auth(google_client)
}