檢索快捷方式引用的雲端硬盤文件的元數據,即快捷方式的目標。返回的 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。