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


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