The googledrive package makes some world-readable, persistent example files available on Google Drive, to use in examples and reprexes. Local versions of those same example files also ship with the googledrive package, to make it easier to demo specific workflows that start with, e.g., drive_upload()
.
This article lists these assets and explains how to get at them. Since the remote example files are accessible to all, after we attach googledrive, we also do drive_deauth()
.
Local example files
Call drive_examples_local()
to get the full filepaths. basename()
(and fs::path_file()
) are handy functions for getting just the filename.
(x <- drive_examples_local())
#> [1] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/chicken.csv"
#> [2] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/chicken.jpg"
#> [3] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/chicken.pdf"
#> [4] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/chicken.txt"
#> [5] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/imdb_latin1.csv"
#> [6] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/r_about.html"
#> [7] "/home/runner/work/_temp/Library/googledrive/extdata/example_files/r_logo.jpg"
basename(x)
#> [1] "chicken.csv" "chicken.jpg" "chicken.pdf"
#> [4] "chicken.txt" "imdb_latin1.csv" "r_about.html"
#> [7] "r_logo.jpg"
You can filter the files by providing a regular expression.
drive_examples_local("csv") %>% basename()
#> [1] "chicken.csv" "imdb_latin1.csv"
If you want exactly one file, use the singular drive_example_local()
and provide the file’s name (or any sufficiently specific regular expression):
drive_examples_local("chicken.jpg") %>% basename()
#> [1] "chicken.jpg"
drive_examples_local("imdb") %>% basename()
#> [1] "imdb_latin1.csv"
Here’s how you might use one of these examples to start demonstrating something with googledrive:
new_google_sheet <- drive_examples_local("chicken.csv") %>%
drive_upload(type = "spreadsheet")
# ... example or reprex continues ...
Remote example files
Call drive_examples_remote()
to get a dribble
of the remote example files. Here I also reveal their MIME type.
drive_examples_remote() %>%
drive_reveal("mime_type")
#> # A dribble: 9 × 4
#> name mime_type id drive_resource
#> <chr> <chr> <drv> <list>
#> 1 chicken_doc application/vnd.google-apps.docume… 1X9p… <named list>
#> 2 chicken_sheet application/vnd.google-apps.spread… 1SeF… <named list>
#> 3 chicken.csv text/csv 1VOh… <named list>
#> 4 chicken.jpg image/jpeg 1b2_… <named list>
#> 5 chicken.pdf application/pdf 13OQ… <named list>
#> 6 chicken.txt text/plain 1wOL… <named list>
#> 7 imdb_latin1.csv text/csv 1YJS… <named list>
#> 8 r_about.html text/html 1sfC… <named list>
#> 9 r_logo.jpg image/jpeg 1J4v… <named list>
You’ll notice there are two files that aren’t among the local example files, but that are derived from them:
-
chicken_doc
: a Google Document made fromchicken.txt
-
chicken_sheet
: a Google Sheet made fromchicken.csv
Here’s a clickable table of the remote example files:
name (these are links) | id |
---|---|
chicken_doc | 1X9pd4nOjl33zDFfTjw-_eFL7Qb9_g6VfVFDp1PPae94 |
chicken_sheet | 1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wSVU |
chicken.csv | 1VOh6wWbRfuQLxbLg87o58vxJt95SIiZ7 |
chicken.jpg | 1b2_ZjzgvrSw0hBMgn-rnEbjp3Uq0XTKJ |
chicken.pdf | 13OQcAo8hkh0Ja5Wxlmi4a8aNvPK7pDkO |
chicken.txt | 1wOLeWVRkTb6lDmLRiOhg9iKM7DlN762Y |
imdb_latin1.csv | 1YJSVa0LTaVtGrZ4eVXYrSQ4y50uFl5bw |
r_about.html | 1sfCT0zqDz3vpZZlv_4nFlhq2WMaKqjow |
r_logo.jpg | 1J4v-iyydf1Cad3GjDkGRrynauV9JFOyW |
Accessing the remote example files works just like the local files. Provide a regular expression to specify the name of target file(s). Use the singular form to target exactly one file.
drive_examples_remote("chicken")
#> # A dribble: 6 × 3
#> name id drive_resource
#> <chr> <drv_id> <list>
#> 1 chicken_doc 1X9pd4nOjl33zDFfTjw-_eFL7Qb9_g6VfVFDp1PPae… <named list>
#> 2 chicken_sheet 1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wS… <named list>
#> 3 chicken.csv 1VOh6wWbRfuQLxbLg87o58vxJt95SIiZ7 <named list>
#> 4 chicken.jpg 1b2_ZjzgvrSw0hBMgn-rnEbjp3Uq0XTKJ <named list>
#> 5 chicken.pdf 13OQcAo8hkh0Ja5Wxlmi4a8aNvPK7pDkO <named list>
#> 6 chicken.txt 1wOLeWVRkTb6lDmLRiOhg9iKM7DlN762Y <named list>
drive_example_remote("logo")
#> # A dribble: 1 × 3
#> name id drive_resource
#> <chr> <drv_id> <list>
#> 1 r_logo.jpg 1J4v-iyydf1Cad3GjDkGRrynauV9JFOyW <named list [36]>
Here’s how you might use one of these examples to start demonstrating something with googledrive:
new_google_doc <- drive_examples_remote("chicken_doc") %>%
drive_cp(name = "I have a chicken problem")
# ... example or reprex continues ...