创建目标驱动器 file
的快捷方式,该驱动器可以是文件夹。云端硬盘快捷方式的函数类似于符号链接或"soft"链接,主要用于在浏览器中创建特定的云端硬盘用户体验,即使云端硬盘文件或文件夹出现在多个位置。快捷方式是云端硬盘中相对较新的函数;它们是在云端硬盘停止允许文件拥有超过 1 个父文件夹时引入的。
参数
- file
-
识别您的 Google 云端硬盘上感兴趣的文件的内容。可以是名称或路径、标有
as_id()
或dribble
的文件 ID 或 URL。 - path
-
新快捷方式的目标目的地,即文件夹或共享驱动器。可以作为实际路径(字符)、标有
as_id()
或dribble
的文件 ID 或 URL 给出。默认为您的 "My Drive" 根文件夹。如果path
是文件夹的快捷方式,它会自动解析为其目标文件夹。 - name
-
字符,如果未指定为
path
的一部分,则为新的快捷方式名称。这将强制path
被解释为文件夹,即使它是字符并且缺少尾部斜杠。默认情况下,快捷方式以与目标file
相同的名称开始。因此,如果您想使用overwrite = TRUE
或overwrite = 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 googledrive shortcut_resolve 解决目标的捷径
- R googledrive shared_drive_update 更新共享云端硬盘
- R googledrive shared_drive_rm 删除共享云端硬盘
- R googledrive shared_drive_get 按名称或 ID 获取共享云端硬盘
- R googledrive shared_drive_find 查找共享云端硬盘
- R googledrive shared_drive_create 创建新的共享云端硬盘
- R googledrive drive_cp 复制云端硬盘文件
- R googledrive drive_mime_type 查找 MIME 类型
- R googledrive drive_reveal 添加新的云端硬盘文件信息列
- R googledrive drive_rm 从云端硬盘删除文件
- R googledrive expose 暴露对象
- R googledrive drive_id 驱动器 ID 类
- R googledrive drive_auth_configure 编辑和查看身份验证配置
- R googledrive drive_upload 上传到新的云端硬盘文件
- R googledrive drive_mv 移动云端硬盘文件
- R googledrive drive_put 将新媒体放入云端硬盘文件中
- R googledrive drive_has_token 手上有令牌吗?
- R googledrive drive_user 获取当前用户的信息
- R googledrive drive_rename 重命名云端硬盘文件
- R googledrive drive_trash 将云端硬盘文件移入或移出回收站
- R googledrive as_dribble 强行运球
- R googledrive drive_share 共享云端硬盘文件
- R googledrive request_make 向 Google Drive v3 API 发出请求
- R googledrive drive_about 获取有关云端硬盘函数的信息
- R googledrive drive_update 更新现有云端硬盘文件
注:本文由纯净天空筛选整理自Jennifer Bryan等大神的英文原创作品 Create a shortcut to a Drive file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。