允許指令碼在 Google 雲端硬碟中建立、尋找及修改檔案和資料夾。如要存取共用雲端硬碟中的檔案或資料夾,請使用進階雲端硬碟服務。
// Logs the name of every file in the user's Drive. const files = DriveApp.getFiles(); while (files.hasNext()) { const file = files.next(); console.log(file.getName()); }
屬性
屬性 | 類型 | 說明 |
---|---|---|
Access | Access | 除了明確授予存取權的個別使用者外,此列舉代表可存取檔案或資料夾的使用者類別。 |
Permission | Permission | 這個列舉代表可存取檔案或資料夾的使用者所獲得的權限,除了明確授予存取權的個別使用者之外。 |
方法
內容詳盡的說明文件
continueFileIterator(continuationToken)
使用先前迭代器的接續權杖,繼續執行檔案疊代作業。如果在單一執行作業中處理疊代器會超過執行時間上限,這個方法就很實用。接續符記的有效期限通常為一週。
// Continues getting a list of all 'Untitled document' files in the user's // Drive. Creates a file iterator named 'previousIterator'. const previousIterator = DriveApp.getFilesByName('Untitled document'); // Gets continuation token from the previous file iterator. const continuationToken = previousIterator.getContinuationToken(); // Creates a new iterator using the continuation token from the previous file // iterator. const newIterator = DriveApp.continueFileIterator(continuationToken); // Resumes the file iteration using a continuation token from 'firstIterator' // and logs the file name. if (newIterator.hasNext()) { const file = newIterator.next(); console.log(file.getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
continuationToken | String | 先前檔案疊代器的接續權杖。 |
回攻員
FileIterator
:產生接續權杖時,先前迭代器中保留的檔案集合。
continueFolderIterator(continuationToken)
使用先前迭代器的接續權杖,繼續執行資料夾疊代作業。如果在單一執行作業中處理疊代器會超過執行時間上限,這個方法就很實用。接續符記的有效期限通常為一週。
// Continues getting a list of all folders in user's Drive. // Creates a folder iterator named 'previousIterator'. const previousIterator = DriveApp.getFolders(); // Gets continuation token from the previous folder iterator. const continuationToken = previousIterator.getContinuationToken(); // Creates a new iterator using the continuation token from the previous folder // iterator. const newIterator = DriveApp.continueFolderIterator(continuationToken); // Resumes the folder iteration using a continuation token from the previous // iterator and logs the folder name. if (newIterator.hasNext()) { const folder = newIterator.next(); console.log(folder.getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
continuationToken | String | 來自先前資料夾疊代器的接續權杖。 |
回攻員
FolderIterator
:在產生接續權杖時,先前迭代器中保留的資料夾集合。
createFile(blob)
使用任意資料的指定 Blob
,在使用者的 Google 雲端硬碟根目錄中建立檔案。
參數
名稱 | 類型 | 說明 |
---|---|---|
blob | BlobSource | 新檔案的資料。 |
回攻員
File
:新檔案。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive
createFile(name, content)
createFile(name, content, mimeType)
在使用者的雲端硬碟根目錄中,建立具有指定名稱、內容和 MIME 類型的檔案。如果 content
大於 10 MB,系統會擲回例外狀況。
// Create an HTML file with the content "Hello, world!" DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 新檔案的名稱。 |
content | String | 新檔案的內容。 |
mimeType | String | 新檔案的 MIME 類型。 |
回攻員
File
:新檔案。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive
createFolder(name)
createShortcut(targetId)
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)
建立所提供的雲端硬碟項目 ID 和資源鍵的捷徑,並傳回該捷徑。資源鍵是需要傳遞的額外參數,用於存取使用連結共用的目標檔案或資料夾。
// Creates shortcuts for all folders in the user's drive that have a specific // name. // TODO(developer): Replace 'Test-Folder' with a valid folder name in your // drive. const folders = DriveApp.getFoldersByName('Test-Folder'); // Iterates through all folders named 'Test-Folder'. while (folders.hasNext()) { const folder = folders.next(); // Creates a shortcut to the provided Drive item ID and resource key, and // returns it. DriveApp.createShortcutForTargetIdAndResourceKey( folder.getId(), folder.getResourceKey(), ); }
參數
名稱 | 類型 | 說明 |
---|---|---|
targetId | String | 目標檔案或資料夾的 ID。 |
targetResourceKey | String | 目標檔案或資料夾的資源鍵。 |
回攻員
File
:新的捷徑。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive
enforceSingleParent(value)
針對影響項目父項的所有呼叫,啟用或停用 enforceSingleParent 行為。
詳情請參閱「 簡化 Google 雲端硬碟的資料夾結構和共用模式」一文。
// Enables enforceSingleParent behavior for all calls affecting item parents. DriveApp.enforceSingleParent(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
value | Boolean | enforceSingleParent 標記的新狀態。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive
getFileById(id)
取得具有指定 ID 的檔案。如果檔案不存在或使用者沒有存取權限,就會擲回指令碼例外狀況。
// Gets a list of all files in Google Drive with the given name. // TODO(developer): Replace 'Test' with your file name. const files = DriveApp.getFilesByName('Test'); if (files.hasNext()) { // Gets the ID of each file in the list. const fileId = files.next().getId(); // Gets the file name using its ID and logs it to the console. console.log(DriveApp.getFileById(fileId).getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | 檔案的 ID。 |
回攻員
File
:具有指定 ID 的檔案。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFileByIdAndResourceKey(id, resourceKey)
取得具有指定 ID 和資源鍵的檔案。資源鍵是額外參數,需要傳遞給使用連結共用的檔案。
如果檔案不存在或使用者沒有存取權限,就會擲回指令碼例外狀況。
// Gets a list of all files in Drive with the given name. // TODO(developer): Replace 'Test' with your file name. const files = DriveApp.getFilesByName('Test'); if (files.hasNext()) { // Gets the first file in the list. const file = files.next(); // Gets the ID and resource key. const key = file.getResourceKey(); const id = file.getId(); // Logs the file name to the console using its ID and resource key. console.log(DriveApp.getFileByIdAndResourceKey(id, key).getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | 檔案的 ID。 |
resourceKey | String | 資料夾的資源鍵。 |
回攻員
File
:具有指定 ID 的檔案。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFiles()
取得使用者雲端硬碟中的所有檔案集合。
回攻員
FileIterator
:使用者雲端硬碟中的所有檔案集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFilesByName(name)
取得使用者雲端硬碟中所有具有指定名稱的檔案集合。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 要尋找的檔案名稱。 |
回攻員
FileIterator
:使用者雲端硬碟中所有具有指定名稱的檔案集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFilesByType(mimeType)
取得使用者雲端硬碟中所有具有指定 MIME 類型的檔案集合。
參數
名稱 | 類型 | 說明 |
---|---|---|
mimeType | String | 要尋找的檔案 MIME 類型。 |
回攻員
FileIterator
:使用者雲端硬碟中所有具有指定 MIME 類型的檔案集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFolderById(id)
getFolderByIdAndResourceKey(id, resourceKey)
getFolders()
取得使用者雲端硬碟中所有資料夾的集合。
回攻員
FolderIterator
:使用者雲端硬碟中的所有資料夾集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFoldersByName(name)
取得使用者雲端硬碟中所有具有指定名稱的資料夾集合。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 要尋找的資料夾名稱。 |
回攻員
FolderIterator
:使用者雲端硬碟中所有具有指定名稱的資料夾集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getRootFolder()
取得使用者雲端硬碟根目錄中的資料夾。
// Gets the user's My Drive folder and logs its name to the console. console.log(DriveApp.getRootFolder().getName()); // Logs the Drive owner's name to the console. console.log(DriveApp.getRootFolder().getOwner().getName());
回攻員
Folder
:使用者雲端硬碟的根資料夾。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getStorageLimit()
取得使用者可在雲端硬碟中儲存的位元組數量。
// Gets the number of bytes the user can store in Drive and logs it to the // console. console.log(DriveApp.getStorageLimit());
回攻員
Integer
:使用者可在 Google 雲端硬碟中儲存的位元組數。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getStorageUsed()
取得使用者目前在雲端硬碟中儲存的位元組數。
// Gets the number of bytes the user is currently storing in Drive and logs it // to the console. console.log(DriveApp.getStorageUsed());
回攻員
Integer
:使用者目前在雲端硬碟中儲存的位元組數。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getTrashedFiles()
取得使用者雲端硬碟垃圾桶中所有檔案的集合。
// Gets a list of all the files in the trash of the user's Drive. const trashFiles = DriveApp.getTrashedFiles(); // Logs the trash file names to the console. while (trashFiles.hasNext()) { const file = trashFiles.next(); console.log(file.getName()); }
回攻員
FileIterator
:垃圾桶中的檔案集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getTrashedFolders()
取得使用者雲端硬碟垃圾桶中所有資料夾的集合。
// Gets a collection of all the folders in the trash of the user's Drive. const trashFolders = DriveApp.getTrashedFolders(); // Logs the trash folder names to the console. while (trashFolders.hasNext()) { const folder = trashFolders.next(); console.log(folder.getName()); }
回攻員
FolderIterator
:垃圾桶中的資料夾集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
searchFiles(params)
取得使用者雲端硬碟中符合指定搜尋條件的所有檔案集合。如要進一步瞭解搜尋條件,請參閱 Google 雲端硬碟 SDK 說明文件。請注意,Drive 服務使用的是 Drive API 第 2 版,因此部分查詢欄位與第 3 版不同。查看 v2 與 v3 之間的欄位差異。
params
引數是可包含字串值的查詢字串,因此請務必正確轉義引號 (例如 "title contains 'Gulliver\\'s
Travels'"
或 'title contains "Gulliver\'s Travels"'
)。
// Logs the name of every file in the user's Drive that modified after February 28, // 2022 whose name contains "untitled."" const files = DriveApp.searchFiles( 'modifiedDate > "2022-02-28" and title contains "untitled"'); while (files.hasNext()) { const file = files.next(); console.log(file.getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
params | String | 搜尋條件,詳情請參閱 Google Drive SDK 說明文件。 |
回攻員
FileIterator
:使用者雲端硬碟中符合搜尋條件的所有檔案集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
searchFolders(params)
取得使用者雲端硬碟中符合指定搜尋條件的所有資料夾集合。如要進一步瞭解搜尋條件,請參閱 Google 雲端硬碟 SDK 說明文件。請注意,Drive 服務使用的是 Drive API 第 2 版,因此部分查詢欄位與第 3 版不同。查看 v2 與 v3 之間的欄位差異。
params
引數是可包含字串值的查詢字串,因此請務必正確轉義引號 (例如 "title contains 'Gulliver\\'s
Travels'"
或 'title contains "Gulliver\'s Travels"'
)。
// Logs the name of every folder in the user's Drive that you own and is starred. const folders = DriveApp.searchFolders('starred = true and "me" in owners'); while (folders.hasNext()) { const folder = folders.next(); console.log(folder.getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
params | String | 搜尋條件,詳情請參閱 Google Drive SDK 說明文件。 |
回攻員
FolderIterator
:使用者雲端硬碟中符合搜尋條件的所有資料夾集合。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive