允許指令碼在 Google 雲端硬碟中建立、尋找及修改檔案和資料夾。如要存取檔案或 請使用進階雲端硬碟服務。
// Logs the name of every file in the user's Drive. var files = DriveApp.getFiles(); while (files.hasNext()) { var 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
在使用者雲端硬碟的根目錄中建立檔案。
// Create an image file in Google Drive using the Maps service. var blob = Maps.newStaticMap().setCenter('76 9th Avenue, New York NY').getBlob(); DriveApp.createFile(blob);
參數
名稱 | 類型 | 說明 |
---|---|---|
blob | BlobSource | 新檔案的資料。 |
回攻員
File
:新檔案。
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive
createFile(name, content)
以指定的名稱和內容在使用者雲端硬碟的根目錄中建立文字檔案。擲回
如果 content
大於 50 MB,則不符合例外狀況。
// Create a text file with the content "Hello, world!" DriveApp.createFile('New Text File', 'Hello, world!');
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 新檔案的名稱。 |
content | String | 新檔案的內容。 |
回攻員
File
:新檔案。
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive
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)
針對影響項目父項的所有呼叫,啟用或停用強制執行 SingleParent 行為。
請參閱 簡化 Google 雲端硬碟的資料夾結構和共用模型網誌,瞭解如何 瞭解詳情
// Enables enforceSingleParent behavior for all calls affecting item parents. DriveApp.enforceSingleParent(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
value | Boolean | forceSingleParent 標記的新狀態。 |
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
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
:使用者可在雲端硬碟中儲存的位元組數。
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
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 API v2,部分查詢欄位與第 3 版不同。查看欄位 第 2 版和第 3 版的差異。
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."" var files = DriveApp.searchFiles( 'modifiedDate > "2022-02-28" and title contains "untitled"'); while (files.hasNext()) { var file = files.next(); console.log(file.getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
params | String | 搜尋條件 (詳情請參閱 Google 雲端硬碟 SDK 說明文件)。 |
回攻員
FileIterator
:使用者雲端硬碟中符合搜尋條件的所有檔案集合
標準。
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
searchFolders(params)
取得使用者雲端硬碟中符合搜尋條件的所有資料夾集 標準。如要進一步瞭解搜尋條件,請參閱 Google 雲端硬碟 SDK 說明文件。請注意,雲端硬碟 服務使用的 Drive API v2,部分查詢欄位與第 3 版不同。查看欄位 第 2 版和第 3 版的差異。
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. var folders = DriveApp.searchFolders('starred = true and "me" in owners'); while (folders.hasNext()) { var folder = folders.next(); console.log(folder.getName()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
params | String | 搜尋條件 (詳情請參閱 Google 雲端硬碟 SDK 說明文件)。 |
回攻員
FolderIterator
:使用者雲端硬碟中符合搜尋條件的所有資料夾集
標準。
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive