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


R googledrive drive_find 在 Google 云端硬盘上查找文件


这是与 https://drive.google.com 最接近的 googledrive 函数:默认情况下,您只会获得文件列表。您还可以通过多种方式进行搜索,例如按文件类型或所有权过滤或使用 shared drives 。这是一个非常强大的函数。与更具体的 drive_get() 一起,这是识别下游工作目标文件的主要方法。如果您知道要在特定文件夹或共享驱动器中搜索,请使用 drive_ls()

用法

drive_find(
  pattern = NULL,
  trashed = FALSE,
  type = NULL,
  n_max = Inf,
  shared_drive = NULL,
  corpus = NULL,
  ...,
  verbose = deprecated(),
  team_drive = deprecated()
)

参数

pattern

特点。如果提供,则仅返回名称与此正则表达式匹配的项目。这是根据 API 返回的结果在本地实现的。

trashed

逻辑性强。是否搜索不在回收站中的文件( trashed = FALSE ,默认值)、仅搜索位于回收站中的文件 ( trashed = TRUE ),或者无论已回收状态如何都进行搜索 ( trashed = NA )。

type

特点。如果提供,则仅返回此类型的文件。可以是 drive_mime_type() 知道如何处理的任何内容。这由 googledrive 处理并作为查询参数发送。

n_max

整数。要返回的项目数的上限。这适用于从 API 请求的结果,可以通过 pattern 参数在本地进一步过滤。

shared_drive

标识一个特定共享驱动器的任何内容:其名称、其 ID 或标有 as_id()dribble 的 URL。提供给 shared_drive 的值使用 as_shared_drive() 进行预处理。了解更多关于shared drives的信息。

corpus

字符,指定要搜索的项目集合。与使用共享云端硬盘和/或 Google Workspace 网域的人员相关。如果指定,则必须是 "user""drive" (要求还指定 shared_drive )、 "allDrives""domain" 之一。了解更多关于shared drives的信息。

...

在请求中传递的其他参数。最有可能的候选者是q。请参阅下文和 API 的 Search for files and folders guide

verbose

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

team_drive

Google Drive 和 Drive API 已用共享云端硬盘取代了团队云端硬盘。

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

文件类型

type 参数已使用 drive_mime_type() 进行预处理,因此除了 full-blown MIME 类型之外,您还可以使用一些快捷方式和文件扩展名。 googledrive 形成一个搜索子句传递给 q

搜索参数

通过向通过 ... 传递给 API 的 q 参数提供搜索子句,对文件属性进行高级搜索。多个q子句或vector-valued q通过'and'组合。

垃圾

默认情况下,drive_find() 设置trashed = FALSE,并且不将文件包含在回收站中。从字面上看,它将q = "trashed = false" 添加到查询中。要仅搜索箱子,请设置 trashed = TRUE 。要查看文件而不考虑垃圾状态,请设置 trashed = NA ,这会将 q = "(trashed = true or trashed = false)" 添加到查询中。

排序

默认,drive_find()发送orderBy = "recency desc",因此结果中的顶部文件具有较高的"recency"(无论这意味着什么)。抑制发送orderBy无论如何,做drive_find(orderBy = NULL).这orderBy除了以下参数之外,参数还接受排序键recency,记录在files.list 端点。 googledrive 翻译 snake_case 规范order_by转化为低位骆驼形式,orderBy.

共享驱动器和域

如果您使用共享云端硬盘和/或 Google Workspace,则可以将搜索查询应用于与 "My Drive" 关联的项目集合之外的项目集合。使用shared_drivecorpus 参数来控制它。了解更多关于shared drives的信息。

也可以看看

包装 files.list 端点:

用于生成您自己的查询的有用资源:

例子

if (FALSE) {
# list "My Drive" w/o regard for folder hierarchy
drive_find()

# filter for folders, the easy way and the hard way
drive_find(type = "folder")
drive_find(q = "mimeType = 'application/vnd.google-apps.folder'")

# filter for Google Sheets, the easy way and the hard way
drive_find(type = "spreadsheet")
drive_find(q = "mimeType='application/vnd.google-apps.spreadsheet'")

# files whose names match a regex
# the local, general, sometimes-slow-to-execute version
drive_find(pattern = "ick")
# the server-side, executes-faster version
# NOTE: works only for a pattern at the beginning of file name
drive_find(q = "name contains 'chick'")

# search for files located directly in your root folder
drive_find(q = "'root' in parents")
# FYI: this is equivalent to
drive_ls("~/")

# control page size or cap the number of files returned
drive_find(pageSize = 50)
# all params passed through `...` can be camelCase or snake_case
drive_find(page_size = 50)
drive_find(n_max = 58)
drive_find(page_size = 5, n_max = 15)

# various ways to specify q search clauses
# multiple q's
drive_find(
  q = "name contains 'TEST'",
  q = "modifiedTime > '2020-07-21T12:00:00'"
)
# vector q
drive_find(q = c("starred = true", "visibility = 'anyoneWithLink'"))

# default `trashed = FALSE` excludes files in the trash
# `trashed = TRUE` consults ONLY file in the trash
drive_find(trashed = TRUE)
# `trashed = NA` disregards trash status completely
drive_find(trashed = NA)

# suppress the default sorting on recency
drive_find(order_by = NULL, n_max = 5)

# sort on various keys
drive_find(order_by = "modifiedByMeTime", n_max = 5)
# request descending order
drive_find(order_by = "quotaBytesUsed desc", n_max = 5)
}

源代码:R/drive_find.R

相关用法


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