当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R googledrive drive_mkdir 创建云端硬盘文件夹


创建一个新的云端硬盘文件夹。要更新现有云端硬盘文件(包括文件夹)的元数据,请使用 drive_update()

用法

drive_mkdir(name, path = NULL, ..., overwrite = NA, verbose = deprecated())

参数

name

新文件夹的名称,或者(可选)指定现有父文件夹的路径以及新名称。

path

新文件夹的目标目的地,即文件夹或共享驱动器。可以作为实际路径(字符)、标有 as_id()dribble 的文件 ID 或 URL 给出。默认为您的 "My Drive" 根文件夹。如果path 是文件夹的快捷方式,它会自动解析为其目标文件夹。

...

要传递到 Drive API 的命名参数。具有dynamic dots 语义。您可以通过 ... 指定文件资源的属性来影响目标文件的元数据。阅读关联端点的 Drive API 文档的"Request body" 部分,了解相关参数。

overwrite

逻辑,指示是否检查目标"filepath"处是否存在预先存在的文件。 "filepath" 周围的引号是指 Drive 不会像典型的文件系统那样在文件路径和文件之间强加一对一的关系;在 drive_get() 中了解更多相关信息。

  • NA(默认):只需执行该操作,即使它会导致多个文件具有相同的文件路径。

  • TRUE :检查文件路径中是否存在预先存在的文件。如果有零个或一个,请将预先存在的文件移至箱子,然后继续。请注意,新文件不会继承旧文件的任何属性,例如共享或发布设置。它将有一个新的文件 ID。如果找到两个或多个预先存在的文件,则会引发错误。

  • FALSE:如果文件路径中存在任何预先存在的文件,则会出错。

请注意,基于文件路径的存在性检查是昂贵的操作,即它们需要额外的 API 调用。

verbose

[Deprecated]这种对各个 googledrive 函数的逻辑论证已被弃用。要全局禁止 googledrive 消息传递,请使用options(googledrive_quiet = TRUE)(默认行为是发出信息性消息)。要以更有限的方式抑制消息传递,请使用帮助程序local_drive_quiet()或者with_drive_quiet().

dribble 类的对象,每个文件一行的 tibble。

也可以看看

例子

# Create folder named 'ghi', then another below named it 'jkl' and star it
ghi <- drive_mkdir("ghi")
#> Created Drive file:
#> • ghi <id: 1oKFLaZIh9VEsTUyzZwfpnzfdbs9ivVcP>
#> With MIME type:
#> • application/vnd.google-apps.folder
jkl <- drive_mkdir("ghi/jkl", starred = TRUE)
#> Created Drive file:
#> • jkl <id: 1ap1w-CyQKFo2uXyzHP_vjO3_S_wlpAFy>
#> With MIME type:
#> • application/vnd.google-apps.folder

# is 'jkl' really starred? YES
purrr::pluck(jkl, "drive_resource", 1, "starred")
#> [1] TRUE

# Another way to create folder 'mno' in folder 'ghi'
drive_mkdir("mno", path = "ghi")
#> Created Drive file:
#> • mno <id: 1I6Y45sl3oZNUGth3FtJNeSG1gr6N8CkF>
#> With MIME type:
#> • application/vnd.google-apps.folder

# Yet another way to create a folder named 'pqr' in folder 'ghi',
# this time with parent folder stored in a dribble,
# and setting the new folder's description
pqr <- drive_mkdir("pqr", path = ghi, description = "I am a folder")
#> Created Drive file:
#> • pqr <id: 1XY4ADte-K9DqzIWWHsPcMDP7aj4Lj3-D>
#> With MIME type:
#> • application/vnd.google-apps.folder

# Did we really set the description? YES
purrr::pluck(pqr, "drive_resource", 1, "description")
#> [1] "I am a folder"

# `overwrite = FALSE` errors if something already exists at target filepath
# THIS WILL ERROR!
drive_create("name-squatter-mkdir", path = ghi)
#> Created Drive file:
#> • name-squatter-mkdir <id: 1DEr4p-zFATFcWhx1c30mOAw9rSOjISvV>
#> With MIME type:
#> • application/octet-stream
drive_mkdir("name-squatter-mkdir", path = ghi, overwrite = FALSE)
#> Error in check_for_overwrite(params[["parents"]], params[["name"]], overwrite): 1 item already exists at the target filepath and `overwrite =
#> FALSE`:
#> • name-squatter-mkdir <id: 1DEr4p-zFATFcWhx1c30mOAw9rSOjISvV>

# `overwrite = TRUE` moves the existing item to trash, then proceeds
drive_mkdir("name-squatter-mkdir", path = ghi, overwrite = TRUE)
#> File trashed:
#> • name-squatter-mkdir <id: 1DEr4p-zFATFcWhx1c30mOAw9rSOjISvV>
#> Created Drive file:
#> • name-squatter-mkdir <id: 1a9KDiGfd_CuEcK2HzuLmZoO0jzTkFipS>
#> With MIME type:
#> • application/vnd.google-apps.folder

# list everything inside 'ghi'
drive_ls("ghi")
#> # A dribble: 4 × 3
#>   name                id                                drive_resource   
#>   <chr>               <drv_id>                          <list>           
#> 1 name-squatter-mkdir 1a9KDiGfd_CuEcK2HzuLmZoO0jzTkFipS <named list [33]>
#> 2 pqr                 1XY4ADte-K9DqzIWWHsPcMDP7aj4Lj3-D <named list [34]>
#> 3 mno                 1I6Y45sl3oZNUGth3FtJNeSG1gr6N8CkF <named list [33]>
#> 4 jkl                 1ap1w-CyQKFo2uXyzHP_vjO3_S_wlpAFy <named list [33]>

# Clean up
drive_rm(ghi)
#> File deleted:
#> • ghi <id: 1oKFLaZIh9VEsTUyzZwfpnzfdbs9ivVcP>
源代码:R/drive_mkdir.R

相关用法


注:本文由纯净天空筛选整理自Jennifer Bryan等大神的英文原创作品 Create a Drive folder。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。