Skip to contents

Creates a local backup of a Google Drive file.

Usage

backup_g_file(
  g_id,
  path,
  type = NULL,
  path_gcp_service_account_key = Sys.getenv("PATH_GCP_KEY_ZDA"),
  overwrite = TRUE,
  force = FALSE,
  quiet = TRUE
)

Arguments

g_id

Google Drive file ID. A character scalar.

path

Path to the local file backup destination. A character scalar.

type

Desired type of the Google Drive file to be backed up. Only consulted if g_id identifies a native Google Apps file. Will be processed via googledrive::drive_mime_type(), so it can either be a file extension like "pdf", a full MIME type like "application/pdf", or NULL to determine the type based on the file extension of path (if none is specified, falls back on the default type determined by the Google Drive API). Note that type takes precedence over a possible file extension of path, but specifying only the latter should normally suffice.

path_gcp_service_account_key

Path to the GCP Service Account Key JSON file. See auth_g_drive_gcp() for details.

overwrite

Whether or not to overwrite an already existing file under path.

force

Whether or not to force overwriting the file regardless whether it has changed since the last backup or not.

quiet

Whether or not to suppress printing status output from googledrive operations.

Value

An object of class dribble, a tibble with one row per file if local backup was (over)written, otherwise NULL, meaning the remote file hasn't deviated from the local backup since the last run, invisibly.

Details

Essentially a convenience wrapper around googledrive::drive_download().

If a Google Sheet that includes multiple worksheets is backed up to a file type that doesn't support worksheets like "csv", only the default (first) worksheet is written. In contrast, backup_g_sheet() allows to specify any worksheet to be backed up (but always writes a single worksheet only regardless of the filetype).

See also