当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R googledrive shortcut_create 创建云端硬盘文件的快捷方式


创建目标驱动器 file 的快捷方式,该驱动器可以是文件夹。云端硬盘快捷方式的函数类似于符号链接或"soft"链接,主要用于在浏览器中创建特定的云端硬盘用户体验,即使云端硬盘文件或文件夹出现在多个位置。快捷方式是云端硬盘中相对较新的函数;它们是在云端硬盘停止允许文件拥有超过 1 个父文件夹时引入的。

用法

shortcut_create(file, path = NULL, name = NULL, overwrite = NA)

参数

file

识别您的 Google 云端硬盘上感兴趣的文件的内容。可以是名称或路径、标有 as_id()dribble 的文件 ID 或 URL。

path

新快捷方式的目标目的地,即文件夹或共享驱动器。可以作为实际路径(字符)、标有 as_id()dribble 的文件 ID 或 URL 给出。默认为您的 "My Drive" 根文件夹。如果path 是文件夹的快捷方式,它会自动解析为其目标文件夹。

name

字符,如果未指定为 path 的一部分,则为新的快捷方式名称。这将强制 path 被解释为文件夹,即使它是字符并且缺少尾部斜杠。默认情况下,快捷方式以与目标 file 相同的名称开始。因此,如果您想使用 overwrite = TRUEoverwrite = FALSE ,则必须显式指定快捷方式的 name

overwrite

逻辑,指示是否检查目标"filepath"处是否存在预先存在的文件。 "filepath" 周围的引号是指 Drive 不会像典型的文件系统那样在文件路径和文件之间强加一对一的关系;在 drive_get() 中了解更多相关信息。

  • NA(默认):只需执行该操作,即使它会导致多个文件具有相同的文件路径。

  • TRUE :检查文件路径中是否存在预先存在的文件。如果有零个或一个,请将预先存在的文件移至箱子,然后继续。请注意,新文件不会继承旧文件的任何属性,例如共享或发布设置。它将有一个新的文件 ID。如果找到两个或多个预先存在的文件,则会引发错误。

  • FALSE:如果文件路径中存在任何预先存在的文件,则会出错。

请注意,基于文件路径的存在性检查是昂贵的操作,即它们需要额外的 API 调用。

dribble 类的对象,每个文件一行的 tibble。

例子

# Target one of the official example files
(src_file <- drive_example_remote("chicken_sheet"))
#> # A dribble: 1 × 3
#>   name          id       drive_resource   
#>   <chr>         <drv_id> <list>           
#> 1 chicken_sheet 1SeFXkr… <named list [31]>

# Create a shortcut in the default location with the default name
sc1 <- shortcut_create(src_file)
#> Created Drive file:
#> • chicken_sheet <id: 15dFAdVojXKQD-ISxJ1W83JhhChq_sRs4>
#> With MIME type:
#> • application/vnd.google-apps.shortcut
# This shortcut could now be moved, renamed, etc.

# Create a shortcut in the default location with a custom name
sc2 <- src_file %>%
  shortcut_create(name = "chicken_sheet_second_shortcut")
#> Created Drive file:
#> • chicken_sheet_second_shortcut <id: 1tQHFXX6OyGkpHyfF-3omVqD_4NVKFkIy>
#> With MIME type:
#> • application/vnd.google-apps.shortcut

# Create a folder, then put a shortcut there, with default name
folder <- drive_mkdir("chicken_sheet_shortcut_folder")
#> Created Drive file:
#> • chicken_sheet_shortcut_folder <id: 1cIXVWzQTdylqjaR2HJDjhz--wek_H9fV>
#> With MIME type:
#> • application/vnd.google-apps.folder
sc3 <- src_file %>%
  shortcut_create(folder)
#> Created Drive file:
#> • chicken_sheet <id: 1ihojDVdovTNpe1hSJigKd1HK_mbBaSSc>
#> With MIME type:
#> • application/vnd.google-apps.shortcut

# Look at all these shortcuts
(dat <- drive_find("chicken_sheet", type = "shortcut"))
#> # A dribble: 3 × 3
#>   name                          id       drive_resource   
#>   <chr>                         <drv_id> <list>           
#> 1 chicken_sheet                 1ihojDV… <named list [32]>
#> 2 chicken_sheet_second_shortcut 1tQHFXX… <named list [32]>
#> 3 chicken_sheet                 15dFAdV… <named list [32]>

# Confirm the shortcuts all target the original file
dat <- dat %>%
  drive_reveal("shortcut_details")
purrr::map_chr(dat$shortcut_details, "targetId")
#> [1] "1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wSVU"
#> [2] "1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wSVU"
#> [3] "1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wSVU"
as_id(src_file)
#> <drive_id[1]>
#> [1] 1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wSVU

# Clean up
drive_rm(sc1, sc2, sc3, folder)
#> Files deleted:
#> • chicken_sheet <id: 15dFAdVojXKQD-ISxJ1W83JhhChq_sRs4>
#> • chicken_sheet_second_shortcut <id: 1tQHFXX6OyGkpHyfF-3omVqD_4NVKFkIy>
#> • chicken_sheet <id: 1ihojDVdovTNpe1hSJigKd1HK_mbBaSSc>
#> • chicken_sheet_shortcut_folder <id: 1cIXVWzQTdylqjaR2HJDjhz--wek_H9fV>
源代码:R/shortcut.R

相关用法


注:本文由纯净天空筛选整理自Jennifer Bryan等大神的英文原创作品 Create a shortcut to a Drive file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。