gargle (version 0.5.0)

Gargle-class: OAuth2 token objects specific to Google APIs

Description

Gargle2.0 is based on the Token2.0 class provided in httr. The preferred way to create a Gargle2.0 token is through the constructor function gargle2.0_token(). Key differences with Token2.0:

  • The key for a cached Token2.0 comes from hashing the endpoint, app, and scopes. For the Gargle2.0 subclass, the identifier or key is expanded to include the email address associated with the token. This makes it easier to work with Google APIs with multiple identities.

  • Gargle2.0 tokens are cached, by default, below "~/.R/gargle/gargle-oauth", i.e. at the user level. In contrast, the default location for Token2.0 is ./.httr-oauth, i.e. in current working directory. Gargle2.0 behaviour makes it easier to reuse tokens across projects and makes it less likely that tokens are accidentally synced to a remote location like GitHub or DropBox.

  • Each Gargle2.0 token is cached in its own file. The token cache is a directory of such files. In contrast, Token2.0 tokens are cached as components of a list, which is typically serialized to ./.httr-oauth.

Arguments

Super classes

httr::Token -> httr::Token2.0 -> Gargle2.0

Public fields

email

Email associated with the token.

package

Name of the package requesting a token. Used in messages.

Methods

Public methods

Method new()

Create a Gargle2.0 token

Usage

Gargle2.0$new(
  email = gargle_oauth_email(),
  app = gargle_app(),
  package = "gargle",
  credentials = NULL,
  params = list(),
  cache_path = gargle_oauth_cache()
)

Arguments

email

Optional email address. See gargle2.0_token() for full details.

app

An OAuth consumer application.

package

Name of the package requesting a token. Used in messages.

credentials

Exists largely for testing purposes.

params

A list of parameters for httr::init_oauth2.0(). Some we actively use in gargle: scope, use_oob. Most we do not: user_params, type, as_header, use_basic_auth, config_init, client_credentials.

cache_path

Specifies the OAuth token cache. Read more in gargle::gargle_oauth_cache().

Returns

A Gargle2.0 token.

Method print()

Print a Gargle2.0 token

Usage

Gargle2.0$print(...)

Arguments

...

Not used.

Method hash()

Generate the email-augmented hash of a Gargle2.0 token

Usage

Gargle2.0$hash()

Method cache()

Put a Gargle2.0 token into the cache

Usage

Gargle2.0$cache()

Method load_from_cache()

(Attempt to) get a Gargle2.0 token from the cache

Usage

Gargle2.0$load_from_cache()

Method refresh()

(Attempt to) refresh a Gargle2.0 token

Usage

Gargle2.0$refresh()

Method init_credentials()

Initiate a new Gargle2.0 token

Usage

Gargle2.0$init_credentials()

Method clone()

The objects of this class are cloneable with this method.

Usage

Gargle2.0$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.