當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。