This is a helper to determine which MIME type should be used for a file. Three types of input are acceptable:

  • Native Google Drive file types. Important examples:

    • "document" for Google Docs

    • "folder" for folders

    • "presentation" for Google Slides

    • "spreadsheet" for Google Sheets

  • File extensions, such as "pdf", "csv", etc.

  • MIME types accepted by Google Drive (these are simply passed through).

Usage,
drive_mime_type(type = NULL)

Arguments

type

Character. Google Drive file type, file extension, or MIME type. Pass the sentinel expose() if you want to get the full table used for validation and lookup, i.e. all MIME types known to be relevant to the Drive API.

Value

Character. MIME type.

Examples

## get the mime type for Google Spreadsheets
drive_mime_type("spreadsheet")
#> [1] "application/vnd.google-apps.spreadsheet"

## get the mime type for jpegs
drive_mime_type("jpeg")
#> [1] "image/jpeg"

## it's vectorized
drive_mime_type(c("presentation", "pdf", "image/gif"))
#> [1] "application/vnd.google-apps.presentation"
#> [2] "application/pdf"                         
#> [3] "image/gif"                               

## see the internal tibble of MIME types known to the Drive API
drive_mime_type(expose())
#> # A tibble: 78 × 5
#>    mime_type                             ext   description    human_type default
#>    <chr>                                 <chr> <chr>          <chr>      <lgl>  
#>  1 application/epub+zip                  NA    NA             NA         NA     
#>  2 application/msword                    doc   NA             doc        TRUE   
#>  3 application/msword                    dot   NA             dot        FALSE  
#>  4 application/pdf                       pdf   NA             pdf        TRUE   
#>  5 application/rtf                       rtf   NA             rtf        TRUE   
#>  6 application/vnd.google-apps.audio     NA    NA             audio      NA     
#>  7 application/vnd.google-apps.document  NA    Google Docs    document   NA     
#>  8 application/vnd.google-apps.drawing   NA    Google Drawing drawing    NA     
#>  9 application/vnd.google-apps.drive-sdk NA    3rd party sho… drive-sdk  NA     
#> 10 application/vnd.google-apps.file      NA    Google Drive … file       NA     
#> # … with 68 more rows