检索快捷方式引用的云端硬盘文件的元数据,即快捷方式的目标。返回的 dribble
具有引用目标的常用列( name
、 id
、 drive_resource
)。它还将包括 name_shortcut
和 id_shortcut
列,它们引用原始快捷方式。有 3 种可能的情况:
-
file
是快捷方式,用户可以drive_get()
目标。一切都很简单而且很好。 -
file
是快捷方式,但drive_get()
对于目标失败。如果用户可以看到快捷方式,但没有目标的读取访问权限,则可能会发生这种情况。如果目标已被删除或删除,也可能会发生这种情况。在这种情况下,除id
之外的所有目标元数据都将丢失。对有问题的id
调用drive_get()
以查看具体错误。 -
file
不是快捷方式。name_shortcut
和id_shortcut
都将是NA
。
值
dribble
类的对象,每个文件一行的 tibble。额外的列 name_shortcut
和 id_shortcut
引用原始快捷方式。
例子
# Create a file to make a shortcut to
file <- drive_example_remote("chicken_sheet") %>%
drive_cp(name = "chicken-sheet-for-shortcut")
#> Original file:
#> • chicken_sheet <id: 1SeFXkr3XdzPSuWauzPdN-XnaryOYmZ7sFiUF5t-wSVU>
#> Copied to file:
#> • chicken-sheet-for-shortcut
#> <id: 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q>
# Create a shortcut
sc1 <- file %>%
shortcut_create(name = "shortcut-1")
#> Created Drive file:
#> • shortcut-1 <id: 1xGNFmT3EK9iWHIY39zSJlKRkHB1XU-Oz>
#> With MIME type:
#> • application/vnd.google-apps.shortcut
# Create a second shortcut by copying the first
sc1 <- sc1 %>%
drive_cp(name = "shortcut-2")
#> Original file:
#> • shortcut-1 <id: 1xGNFmT3EK9iWHIY39zSJlKRkHB1XU-Oz>
#> Copied to file:
#> • shortcut-2 <id: 18UGke5J1cMScXrUqqxIPSSjKH_t7lR9c>
# Get the shortcuts
(sc_dat <- drive_find("-[12]$", type = "shortcut"))
#> # A dribble: 2 × 3
#> name id drive_resource
#> <chr> <drv_id> <list>
#> 1 shortcut-2 18UGke5J1cMScXrUqqxIPSSjKH_t7lR9c <named list [32]>
#> 2 shortcut-1 1xGNFmT3EK9iWHIY39zSJlKRkHB1XU-Oz <named list [32]>
# Resolve them
(resolved <- shortcut_resolve(sc_dat))
#> ℹ Resolved 2 shortcuts found in 2 files:
#> • shortcut-2 <id: 18UGke5J1cMScXrUqqxIPSSjKH_t7lR9c> ->
#> chicken-sheet-for-shortcut
#> <id: 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q>
#> • shortcut-1 <id: 1xGNFmT3EK9iWHIY39zSJlKRkHB1XU-Oz> ->
#> chicken-sheet-for-shortcut
#> <id: 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q>
#> # A dribble: 2 × 5
#> name id name_shortcut id_shortcut drive_resource
#> <chr> <drv_id> <chr> <drv_id> <list>
#> 1 chicken-sheet-for-sho… 1upU5T-… shortcut-2 18UGke5… <named list>
#> 2 chicken-sheet-for-sho… 1upU5T-… shortcut-1 1xGNFmT… <named list>
resolved$id
#> <drive_id[2]>
#> [1] 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q
#> [2] 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q
file$id
#> <drive_id[1]>
#> [1] 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q
# Delete the target file
drive_rm(file)
#> File deleted:
#> • chicken-sheet-for-shortcut
#> <id: 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q>
# (Try to) resolve the shortcuts again
shortcut_resolve(sc_dat)
#> ℹ Resolved 0 of 2 shortcuts found in 2 files:
#> • shortcut-2 <id: 18UGke5J1cMScXrUqqxIPSSjKH_t7lR9c> -> NA
#> <id: 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q>
#> • shortcut-1 <id: 1xGNFmT3EK9iWHIY39zSJlKRkHB1XU-Oz> -> NA
#> <id: 1upU5T-g1ZIKJWs9KENlriViNxj18y5SXfk-p1bpRR3Q>
#> # A dribble: 2 × 5
#> name id name_shortcut id_shortcut drive_resource
#> <chr> <drv_id> <chr> <drv_id> <list>
#> 1 NA 1upU5T-… shortcut-2 18UGke5… <named list [3]>
#> 2 NA 1upU5T-… shortcut-1 1xGNFmT… <named list [3]>
# No error, but resolution is unsuccessful due to non-existent target
# Clean up
drive_rm(sc_dat)
#> Files deleted:
#> • shortcut-2 <id: 18UGke5J1cMScXrUqqxIPSSjKH_t7lR9c>
#> • shortcut-1 <id: 1xGNFmT3EK9iWHIY39zSJlKRkHB1XU-Oz>
相关用法
- R googledrive shortcut_create 创建云端硬盘文件的快捷方式
- 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等大神的英文原创作品 Resolve shortcuts to their targets。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。