创建一个新的空白云端硬盘文件。请注意,对于这些特殊情况有更好的选择:
-
创建文件夹?使用
drive_mkdir()
。 -
想要将现有的本地内容上传到新的云端硬盘文件中吗?使用
drive_upload()
。
参数
- name
-
新文件的名称,或者(可选)指定现有父文件夹的路径以及新文件名。
- path
-
新项目的目标目的地,即文件夹或共享驱动器。可以作为实际路径(字符)、标有
as_id()
或dribble
的文件 ID 或 URL 给出。默认为您的 "My Drive" 根文件夹。如果path
是文件夹的快捷方式,它会自动解析为其目标文件夹。 - type
-
特点。通过将
type
分别设置为document
、spreadsheet
或presentation
来创建空白的 Google 文档、工作表或幻灯片。type
的所有非NULL
值均使用drive_mime_type()
进行预处理。 - ...
-
要传递到 Drive API 的命名参数。具有dynamic dots 语义。您可以通过
...
指定文件资源的属性来影响目标文件的元数据。阅读关联端点的 Drive API 文档的"Request body" 部分,了解相关参数。 - overwrite
-
逻辑,指示是否检查目标"filepath"处是否存在预先存在的文件。 "filepath" 周围的引号是指 Drive 不会像典型的文件系统那样在文件路径和文件之间强加一对一的关系;在
drive_get()
中了解更多相关信息。-
NA
(默认):只需执行该操作,即使它会导致多个文件具有相同的文件路径。 -
TRUE
:检查文件路径中是否存在预先存在的文件。如果有零个或一个,请将预先存在的文件移至箱子,然后继续。请注意,新文件不会继承旧文件的任何属性,例如共享或发布设置。它将有一个新的文件 ID。如果找到两个或多个预先存在的文件,则会引发错误。 -
FALSE
:如果文件路径中存在任何预先存在的文件,则会出错。
请注意,基于文件路径的存在性检查是昂贵的操作,即它们需要额外的 API 调用。
-
- verbose
-
这种对各个 googledrive 函数的逻辑论证已被弃用。要全局禁止 googledrive 消息传递,请使用
options(googledrive_quiet = TRUE)
(默认行为是发出信息性消息)。要以更有限的方式抑制消息传递,请使用帮助程序local_drive_quiet()
或者with_drive_quiet()
.
值
dribble
类的对象,每个文件一行的 tibble。
例子
# Create a blank Google Doc named 'WordStar' in
# your 'My Drive' root folder and star it
wordstar <- drive_create("WordStar", type = "document", starred = TRUE)
#> Created Drive file:
#> • WordStar <id: 1fQ7yjQxlYG67jg4TKlTqTLkIFvgFYNIoxLNB6Bs78TI>
#> With MIME type:
#> • application/vnd.google-apps.document
# is 'WordStar' really starred? YES
purrr::pluck(wordstar, "drive_resource", 1, "starred")
#> [1] TRUE
# Create a blank Google Slides presentation in
# the root folder, and set its description
execuvision <- drive_create(
"ExecuVision",
type = "presentation",
description = "deeply nested bullet lists FTW"
)
#> Created Drive file:
#> • ExecuVision <id: 18Wjj-HvgieTymPjDMGWuBzo6rJHL5IQgS_USen0HFAg>
#> With MIME type:
#> • application/vnd.google-apps.presentation
# Did we really set the description? YES
purrr::pluck(execuvision, "drive_resource", 1, "description")
#> [1] "deeply nested bullet lists FTW"
# check out the new presentation
drive_browse(execuvision)
# Create folder 'b4xl' in the root folder,
# then create an empty new Google Sheet in it
b4xl <- drive_mkdir("b4xl")
#> Created Drive file:
#> • b4xl <id: 1f759GhJQNiOV6omkXMgBYyvuGSQEBQag>
#> With MIME type:
#> • application/vnd.google-apps.folder
drive_create("VisiCalc", path = b4xl, type = "spreadsheet")
#> Created Drive file:
#> • VisiCalc <id: 1QFWKFFyuRh00CeyL0plaC9Mw_VL909-k3ANVK6OKLs0>
#> With MIME type:
#> • application/vnd.google-apps.spreadsheet
# Another way to create a Google Sheet in the folder 'b4xl'
drive_create("b4xl/SuperCalc", type = "spreadsheet")
#> Created Drive file:
#> • SuperCalc <id: 1UwJIvgVERrclZGtuo-gtWa5pyc2HsSrpXkmV-Xax-y0>
#> With MIME type:
#> • application/vnd.google-apps.spreadsheet
# Yet another way to create a new file in a folder,
# this time specifying parent `path` as a character
drive_create("Lotus 1-2-3", path = "b4xl", type = "spreadsheet")
#> Created Drive file:
#> • Lotus 1-2-3 <id: 1EJ4kQmwvhVuWTOrY6J3QRyIeNpTBevS8zJIX9HbnIFs>
#> With MIME type:
#> • application/vnd.google-apps.spreadsheet
# Did we really create those Sheets in the intended folder? YES
drive_ls("b4xl")
#> # A dribble: 3 × 3
#> name id drive_resource
#> <chr> <drv_id> <list>
#> 1 Lotus 1-2-3 1EJ4kQmwvhVuWTOrY6J3QRyIeNpTBevS8zJIX9HbnIFs <named list>
#> 2 SuperCalc 1UwJIvgVERrclZGtuo-gtWa5pyc2HsSrpXkmV-Xax-y0 <named list>
#> 3 VisiCalc 1QFWKFFyuRh00CeyL0plaC9Mw_VL909-k3ANVK6OKLs0 <named list>
# `overwrite = FALSE` errors if file already exists at target filepath
# THIS WILL ERROR!
drive_create("VisiCalc", path = b4xl, overwrite = FALSE)
#> Error in check_for_overwrite(params[["parents"]], params[["name"]], overwrite): 1 item already exists at the target filepath and `overwrite =
#> FALSE`:
#> • VisiCalc <id: 1QFWKFFyuRh00CeyL0plaC9Mw_VL909-k3ANVK6OKLs0>
# `overwrite = TRUE` moves an existing file to trash, then proceeds
drive_create("VisiCalc", path = b4xl, overwrite = TRUE)
#> File trashed:
#> • VisiCalc <id: 1QFWKFFyuRh00CeyL0plaC9Mw_VL909-k3ANVK6OKLs0>
#> Created Drive file:
#> • VisiCalc <id: 16KzYzBmfnXLoqZ99wv5wn_mYloj8H65F>
#> With MIME type:
#> • application/octet-stream
# Clean up
drive_rm(wordstar, b4xl, execuvision)
#> Files deleted:
#> • WordStar <id: 1fQ7yjQxlYG67jg4TKlTqTLkIFvgFYNIoxLNB6Bs78TI>
#> • b4xl <id: 1f759GhJQNiOV6omkXMgBYyvuGSQEBQag>
#> • ExecuVision <id: 18Wjj-HvgieTymPjDMGWuBzo6rJHL5IQgS_USen0HFAg>
相关用法
- R googledrive drive_cp 复制云端硬盘文件
- R googledrive drive_mime_type 查找 MIME 类型
- R googledrive drive_reveal 添加新的云端硬盘文件信息列
- R googledrive drive_rm 从云端硬盘删除文件
- 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 drive_share 共享云端硬盘文件
- R googledrive drive_about 获取有关云端硬盘函数的信息
- R googledrive drive_update 更新现有云端硬盘文件
- R googledrive drive_mkdir 创建云端硬盘文件夹
- R googledrive drive_fields 请求部分资源
- R googledrive drive_endpoints 列出驱动器端点
- R googledrive drive_deauth 暂停授权
- R googledrive drive_link 检索云端硬盘文件链接
- R googledrive drive_find 在 Google 云端硬盘上查找文件
- R googledrive drive_examples 示例文件
- R googledrive drive_browse 在浏览器中访问云端硬盘文件
- R googledrive drive_token 生成配置的令牌
注:本文由纯净天空筛选整理自Jennifer Bryan等大神的英文原创作品 Create a new blank Drive file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。