## ---- include = FALSE--------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(gargle) ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(scopes, ...) ## ----------------------------------------------------------------------------- writeLines(names(cred_funs_list())) ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(token = ) # # credentials_byo_oauth2( # token = # ) ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(scopes = , path = "/path/to/your/service-account.json") # # # credentials_byo_oauth2() fails because no `token`, # # which leads to this call: # credentials_service_account( # scopes = , # path = "/path/to/your/service-account.json" # ) ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(scopes = , path = "/path/to/your/external-account.json") # # # credentials_byo_oauth2() fails because no `token`, # # credentials_service_account() fails because the JSON provided via # # `path` is not of type "service_account", # # which leads to this call: # credentials_external_account( # scopes = , # path = "/path/to/your/external-account.json" # ) ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(scopes = ) # # # credentials_byo_oauth2() fails because no `token`, # # credentials_service_account() fails because no `path`, # # credentials_external_account() fails because no `path`, # # which leads to this call: # credentials_app_default( # scopes = # ) ## ---- eval = FALSE------------------------------------------------------------ # ${GOOGLE_APPLICATION_CREDENTIALS} # ${CLOUDSDK_CONFIG}/application_default_credentials.json # # # on Windows: # %APPDATA%\gcloud\application_default_credentials.json # %SystemDrive%\gcloud\application_default_credentials.json # C:\gcloud\application_default_credentials.json # # # on not-Windows: # ~/.config/gcloud/application_default_credentials.json ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(scopes = ) # # or perhaps # token_fetch(scopes = , service_account = ) # # # credentials_byo_oauth2() fails because no `token`, # # credentials_service_account() fails because no `path`, # # credentials_external_account() fails because no `path`, # # credentials_app_default() fails because no ADC found, # # which leads to one of these calls: # credentials_gce( # scopes = , # service_account = "default" # ) # # or # credentials_gce( # scopes = , # service_account = # ) ## ---- eval = FALSE------------------------------------------------------------ # token_fetch(scopes = ) # # # credentials_byo_oauth2() fails because no `token`, # # credentials_service_account() fails because no `path`, # # credentials_external_account() fails because no `path`, # # credentials_app_default() fails because no ADC found, # # credentials_gce() fails because not on GCE, # # which leads to this call: # credentials_user_oauth2( # scopes = , # app = , # package = "" # ) ## ---- eval = FALSE------------------------------------------------------------ # # user initiates auth or does something that triggers it indirectly # THINGY_auth() # # # which then calls # gargle::token_fetch( # scopes = , # app = thingy_app(), # package = "thingyr" # ) # # # which leads to this call: # credentials_user_oauth2( # scopes = , # app = thingy_app(), # package = "thingyr" # ) ## ---- eval = FALSE------------------------------------------------------------ # gargle2.0_token( # email = gargle_oauth_email(), # app = thingy_app(), # package = "thingyr", # scope = , # cache = gargle_oauth_cache() # ) ## ---- eval = FALSE------------------------------------------------------------ # The thingyr package is requesting access to your Google account. # Enter '1' to start a new auth process or select a pre-authorized account. # 1: Send me to the browser for a new auth process. # 2: janedoe_personal@gmail.com # 3: janedoe@example.com # 4: janedoe_work@gmail.com # Selection: ## ---- eval = FALSE------------------------------------------------------------ # thingy_auth(email = "janedoe_work@gmail.com") ## ---- eval = FALSE------------------------------------------------------------ # gargle_oauth_sitrep() # #> 14 tokens found in this gargle OAuth cache: # #> ~/Library/Caches/gargle # #' # #' email app scopes hash... # #' ----------------------------- ----------- ------------------------------ ---------- # #' abcdefghijklm@gmail.com thingy ...bigquery, ...cloud-platform 128f9cc... # #' buzzy@example.org gargle-demo 15acf95... # #' stella@example.org gargle-demo ...drive 4281945... # #' abcdefghijklm@gmail.com gargle-demo ...drive 48e7e76... # #' abcdefghijklm@gmail.com tidyverse 69a7353... # #' nopqr@ABCDEFG.com tidyverse ...spreadsheets.readonly 86a70b9... # #' abcdefghijklm@gmail.com tidyverse ...drive d9443db... # #' nopqr@HIJKLMN.com tidyverse ...drive d9443db... # #' nopqr@ABCDEFG.com tidyverse ...drive d9443db... # #' stuvwzyzabcd@gmail.com tidyverse ...drive d9443db... # #' efghijklmnopqrtsuvw@gmail.com tidyverse ...drive d9443db... # #' abcdefghijklm@gmail.com tidyverse ...drive.readonly ecd11fa... # #' abcdefghijklm@gmail.com tidyverse ...bigquery, ...cloud-platform ece63f4... # #' nopqr@ABCDEFG.com tidyverse ...spreadsheets f178dd8... ## ----------------------------------------------------------------------------- writeLines(names(cred_funs_list())) ## ----eval = FALSE------------------------------------------------------------- # gargle::cred_funs_add(credentials_gce = NULL)