Skip to content

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.docum… NA    Google Docs document   NA     
#>  8 application/vnd.google-apps.drawi… NA    Google Dra… drawing    NA     
#>  9 application/vnd.google-apps.drive… NA    3rd party … drive-sdk  NA     
#> 10 application/vnd.google-apps.file   NA    Google Dri… file       NA     
#> # ℹ 68 more rows