credentials_user_oauth2 {gargle} | R Documentation |
Consults the token cache for a suitable OAuth token and, if unsuccessful, gets a token via the browser flow. A cached token is suitable if it's compatible with the user's request in this sense:
OAuth app must be same.
Scopes must be same.
Email, if provided, must be same. If specified email is a glob pattern
like "*@example.com"
, email matching is done at the domain level.
gargle is very conservative about using OAuth tokens discovered in the user's
cache and will generally seek interactive confirmation. Therefore, in a
non-interactive setting, it's important to explicitly specify the "email"
of the target account or to explicitly authorize automatic discovery. See
gargle2.0_token()
, which this function wraps, for more. Non-interactive use
also suggests it might be time to use a service account token or workload identity federation.
credentials_user_oauth2( scopes = NULL, app = gargle_app(), package = "gargle", ... )
scopes |
A character vector of scopes to request. Pick from those listed at https://developers.google.com/identity/protocols/oauth2/scopes. For certain token flows, the
|
app |
An OAuth consumer application, created by |
package |
Name of the package requesting a token. Used in messages. |
... |
Arguments passed on to
|
A Gargle2.0 token.
Other credential functions:
credentials_app_default()
,
credentials_byo_oauth2()
,
credentials_external_account()
,
credentials_gce()
,
credentials_service_account()
,
token_fetch()
## Not run: ## Drive scope, built-in gargle demo app scopes <- "https://www.googleapis.com/auth/drive" credentials_user_oauth2(scopes, app = gargle_app()) ## bring your own app app <- httr::oauth_app( appname = "my_awesome_app", key = "keykeykeykeykeykey", secret = "secretsecretsecret" ) credentials_user_oauth2(scopes, app) ## End(Not run)