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