Drive Service

雲端硬碟

這項服務可讓指令碼在 Google 雲端硬碟中建立、尋找及修改檔案和資料夾。

如果指令碼使用標準 Cloud 專案而非預設 Cloud 專案,則必須手動開啟 Drive API。在標準 Cloud 專案中啟用 Drive API:

啟用 Drive API

以下程式碼範例說明如何記錄使用者「我的雲端硬碟」資料夾中每個檔案的名稱:
// 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除了明確授予存取權的個別使用者外,此列舉代表可存取檔案或資料夾的使用者類別。
DriveApp允許指令碼在 Google 雲端硬碟中建立、尋找及修改檔案和資料夾。
FileGoogle 雲端硬碟中的檔案。
FileIterator可讓指令碼遍歷可能包含大量檔案的集合的疊代器。
FolderGoogle 雲端硬碟中的資料夾。
FolderIterator可讓指令碼遍歷可能包含大量資料夾的集合的物件。
Permission這個列舉代表可存取檔案或資料夾的使用者所獲得的權限,除了明確授予存取權的個別使用者之外。
User與 Google 雲端硬碟檔案相關聯的使用者。

Access

屬性

屬性類型說明
ANYONEEnum任何網際網路使用者都能尋找及存取。
ANYONE_WITH_LINKEnum知道連結的使用者皆可存取。
DOMAINEnum網域中的使用者皆可尋找及存取。
DOMAIN_WITH_LINKEnum網域中知道連結的使用者皆可存取。
PRIVATEEnum僅獲得明確授權的使用者可以存取。

DriveApp

屬性

屬性類型說明
AccessAccess除了明確授予存取權的個別使用者外,此列舉代表可存取檔案或資料夾的使用者類別。
PermissionPermission這個列舉代表可存取檔案或資料夾的使用者所獲得的權限,除了明確授予存取權的個別使用者之外。

方法

方法傳回類型簡短說明
continueFileIterator(continuationToken)FileIterator使用先前迭代器的接續權杖,繼續執行檔案疊代作業。
continueFolderIterator(continuationToken)FolderIterator使用先前迭代器的接續權杖,繼續執行資料夾疊代作業。
createFile(blob)File使用任意資料的指定 Blob,在使用者的 Google 雲端硬碟根目錄中建立檔案。
createFile(name, content)File在使用者的雲端硬碟根目錄中建立文字檔案,並指定名稱和內容。
createFile(name, content, mimeType)File在使用者的雲端硬碟根目錄中,建立具有指定名稱、內容和 MIME 類型的檔案。
createFolder(name)Folder在使用者的雲端硬碟根目錄中,建立名稱為指定名稱的資料夾。
createShortcut(targetId)File建立並傳回指定雲端硬碟項目 ID 的捷徑。
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)File建立所提供的雲端硬碟項目 ID 和資源鍵捷徑,並傳回該捷徑。
enforceSingleParent(value)void針對影響項目父項的所有呼叫,啟用或停用 enforceSingleParent 行為。
getFileById(id)File取得具有指定 ID 的檔案。
getFileByIdAndResourceKey(id, resourceKey)File取得具有指定 ID 和資源鍵的檔案。
getFiles()FileIterator取得使用者雲端硬碟中的所有檔案集合。
getFilesByName(name)FileIterator取得使用者雲端硬碟中所有具有指定名稱的檔案集合。
getFilesByType(mimeType)FileIterator取得使用者雲端硬碟中所有具有指定 MIME 類型的檔案集合。
getFolderById(id)Folder取得具有指定 ID 的資料夾。
getFolderByIdAndResourceKey(id, resourceKey)Folder取得具有指定 ID 和資源鍵的資料夾。
getFolders()FolderIterator取得使用者雲端硬碟中所有資料夾的集合。
getFoldersByName(name)FolderIterator取得使用者雲端硬碟中所有具有指定名稱的資料夾集合。
getRootFolder()Folder取得使用者雲端硬碟根目錄中的資料夾。
getStorageLimit()Integer取得使用者可在雲端硬碟中儲存的位元組數量。
getStorageUsed()Integer取得使用者目前在雲端硬碟中儲存的位元組數。
getTrashedFiles()FileIterator取得使用者雲端硬碟垃圾桶中的所有檔案集合。
getTrashedFolders()FolderIterator取得使用者雲端硬碟垃圾桶中所有資料夾的集合。
searchFiles(params)FileIterator取得使用者雲端硬碟中符合指定搜尋條件的所有檔案集合。
searchFolders(params)FolderIterator取得使用者雲端硬碟中符合指定搜尋條件的所有資料夾集合。

File

方法

方法傳回類型簡短說明
addCommenter(emailAddress)File將指定使用者新增至 File 的留言者清單。
addCommenter(user)File將指定使用者新增至 File 的留言者清單。
addCommenters(emailAddresses)File將指定的使用者陣列新增至 File 的留言者清單。
addEditor(emailAddress)File將指定使用者新增至 File 的編輯者清單。
addEditor(user)File將指定使用者新增至 File 的編輯者清單。
addEditors(emailAddresses)File將指定的使用者陣列新增至 File 的編輯者清單。
addViewer(emailAddress)File將指定使用者新增至 File 的觀眾名單。
addViewer(user)File將指定使用者新增至 File 的觀眾名單。
addViewers(emailAddresses)File將指定的使用者陣列新增至 File 的觀眾清單。
getAccess(email)Permission取得授予特定使用者的權限。
getAccess(user)Permission取得授予特定使用者的權限。
getAs(contentType)Blob將此物件內的資料傳回為轉換為指定內容類型的 Blob。
getBlob()Blob將此物件內的資料以 blob 格式傳回。
getDateCreated()Date取得 File 的建立日期。
getDescription()String取得 File 的說明。
getDownloadUrl()String取得可用於下載檔案的網址。
getEditors()User[]取得這個 File 的編輯者清單。
getId()String取得 File 的 ID。
getLastUpdated()Date取得 File 上次更新的日期。
getMimeType()String取得檔案的 MIME 類型。
getName()String取得 File 的名稱。
getOwner()User取得檔案擁有者。
getParents()FolderIterator取得 File 的直接父項資料夾集合。
getResourceKey()String取得 File 的資源鍵,該鍵是存取使用連結共用項目所需的項目。
getSecurityUpdateEligible()Boolean取得這個 File 是否符合套用安全性更新的資格。當檔案透過連結共用時,需要提供資源金鑰才能存取。
getSecurityUpdateEnabled()Boolean取得這個 File 在使用連結分享時,是否需要資源索引鍵才能存取。
getSharingAccess()Access除了明確授予存取權的個別使用者之外,取得可存取 File 的使用者類別。
getSharingPermission()Permission除了明確授予存取權的個別使用者之外,還可取得授予 File 存取權的使用者所擁有的權限。
getSize()Integer取得用於在雲端硬碟中儲存 File 的位元組數。
getTargetId()String如果這是捷徑,則會傳回其所指項目的 ID。
getTargetMimeType()String如果這是捷徑,則會傳回所指項目的 mime 類型。
getTargetResourceKey()String如果檔案是捷徑,則會傳回該捷徑所指向項目的資源鍵。
getThumbnail()Blob取得檔案的縮圖圖片,如果沒有縮圖,則會取得 null
getUrl()String取得可用於在 Google 應用程式 (例如雲端硬碟或 Google 文件) 中開啟 File 的網址。
getViewers()User[]取得這個 File 的檢視者和加註者清單。
isShareableByEditors()Boolean判斷具有 File 編輯權限的使用者是否可以與其他使用者共用或變更權限。
isStarred()Boolean判斷 File 是否已在使用者的雲端硬碟中加星號。
isTrashed()Boolean判斷 File 是否位於使用者的雲端硬碟垃圾桶中。
makeCopy()File建立檔案副本。
makeCopy(destination)File在目的地目錄中建立檔案副本。
makeCopy(name)File建立檔案副本,並使用提供的名稱命名。
makeCopy(name, destination)File在目的地目錄中建立檔案副本,並使用提供的名稱命名。
moveTo(destination)File將這個項目移至指定的目標資料夾。
removeCommenter(emailAddress)File將指定使用者從 File 的留言者清單中移除。
removeCommenter(user)File將指定使用者從 File 的留言者清單中移除。
removeEditor(emailAddress)File將指定使用者從 File 的編輯者清單中移除。
removeEditor(user)File將指定使用者從 File 的編輯者清單中移除。
removeViewer(emailAddress)File將指定使用者從 File 的觀眾和留言者名單中移除。
removeViewer(user)File將指定使用者從 File 的觀眾和留言者名單中移除。
revokePermissions(emailAddress)File撤銷對特定使用者授予的 File 存取權。
revokePermissions(user)File撤銷對特定使用者授予的 File 存取權。
setContent(content)File使用指定的替換字串覆寫檔案內容。
setDescription(description)File設定 File 的說明。
setName(name)File設定 File 的名稱。
setOwner(emailAddress)File變更 File 的擁有者。
setOwner(user)File變更 File 的擁有者。
setSecurityUpdateEnabled(enabled)File設定 File 是否需要使用資源索引鍵存取權,以便透過連結共用。
setShareableByEditors(shareable)File設定是否允許具備 File 編輯權限的使用者與其他使用者共用或變更權限。
setSharing(accessType, permissionType)File除了明確授予存取權的個別使用者外,此屬性還可設定哪些使用者類別可存取 File,以及授予這些使用者的權限。
setStarred(starred)File設定 File 是否已在使用者的 Google 雲端硬碟中加星號。
setTrashed(trashed)File設定 File 是否位於使用者雲端硬碟的垃圾桶中。

FileIterator

方法

方法傳回類型簡短說明
getContinuationToken()String取得可用於稍後繼續執行此迭代的符記。
hasNext()Boolean判斷呼叫 next() 是否會傳回項目。
next()File取得檔案或資料夾集合中的下一個項目。

Folder

方法

方法傳回類型簡短說明
addEditor(emailAddress)Folder將指定使用者新增至 Folder 的編輯者清單。
addEditor(user)Folder將指定使用者新增至 Folder 的編輯者清單。
addEditors(emailAddresses)Folder將指定的使用者陣列新增至 Folder 的編輯者清單。
addViewer(emailAddress)Folder將指定使用者新增至 Folder 的觀眾名單。
addViewer(user)Folder將指定使用者新增至 Folder 的觀眾名單。
addViewers(emailAddresses)Folder將指定的使用者陣列新增至 Folder 的觀眾清單。
createFile(blob)File使用任意資料的指定 Blob,在目前資料夾中建立檔案。
createFile(name, content)File在目前的資料夾中建立文字檔案,並使用指定的名稱和內容。
createFile(name, content, mimeType)File在目前的資料夾中建立檔案,並使用指定的名稱、內容和 MIME 類型。
createFolder(name)Folder在目前資料夾中建立名稱為指定名稱的資料夾。
createShortcut(targetId)File建立並傳回指定雲端硬碟項目 ID 的捷徑。
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)File建立所提供的雲端硬碟項目 ID 和資源鍵捷徑,並傳回該捷徑。
getAccess(email)Permission取得授予特定使用者的權限。
getAccess(user)Permission取得授予特定使用者的權限。
getDateCreated()Date取得 Folder 的建立日期。
getDescription()String取得 Folder 的說明。
getEditors()User[]取得這個 Folder 的編輯者清單。
getFiles()FileIterator取得目前資料夾的所有子項檔案集合。
getFilesByName(name)FileIterator取得目前資料夾的子項,以及具有指定名稱的所有檔案集合。
getFilesByType(mimeType)FileIterator取得目前資料夾的子項,以及具有指定 MIME 類型的所有檔案集合。
getFolders()FolderIterator取得目前資料夾的所有子資料夾集合。
getFoldersByName(name)FolderIterator取得目前資料夾的所有子資料夾集合,且具有指定名稱。
getId()String取得 Folder 的 ID。
getLastUpdated()Date取得 Folder 上次更新的日期。
getName()String取得 Folder 的名稱。
getOwner()User取得此 Folder 的擁有者。
getParents()FolderIterator取得 Folder 的直接父項資料夾集合。
getResourceKey()String取得 Folder 的資源鍵,該鍵是存取使用連結共用項目所需的項目。
getSecurityUpdateEligible()Boolean取得這個 Folder 是否符合套用安全性更新的資格。當檔案透過連結共用時,需要提供資源金鑰才能存取。
getSecurityUpdateEnabled()Boolean取得這個 Folder 在使用連結分享時,是否需要資源索引鍵才能存取。
getSharingAccess()Access除了明確授予存取權的個別使用者之外,取得可存取 Folder 的使用者類別。
getSharingPermission()Permission除了明確授予存取權的個別使用者之外,還可取得授予 Folder 存取權的使用者所擁有的權限。
getSize()Integer取得用於在雲端硬碟中儲存 Folder 的位元組數。
getUrl()String取得可用於在 Google 應用程式 (例如雲端硬碟或 Google 文件) 中開啟 Folder 的網址。
getViewers()User[]取得這個 Folder 的檢視者和加註者清單。
isShareableByEditors()Boolean判斷具有 Folder 編輯權限的使用者是否可以與其他使用者共用或變更權限。
isStarred()Boolean判斷 Folder 是否已在使用者的雲端硬碟中加星號。
isTrashed()Boolean判斷 Folder 是否位於使用者的雲端硬碟垃圾桶中。
moveTo(destination)Folder將這個項目移至指定的目標資料夾。
removeEditor(emailAddress)Folder將指定使用者從 Folder 的編輯者清單中移除。
removeEditor(user)Folder將指定使用者從 Folder 的編輯者清單中移除。
removeViewer(emailAddress)Folder將指定使用者從 Folder 的觀眾和留言者名單中移除。
removeViewer(user)Folder將指定使用者從 Folder 的觀眾和留言者名單中移除。
revokePermissions(emailAddress)Folder撤銷對特定使用者授予的 Folder 存取權。
revokePermissions(user)Folder撤銷對特定使用者授予的 Folder 存取權。
searchFiles(params)FileIterator取得目前資料夾的子項,以及符合指定搜尋條件的所有檔案集合。
searchFolders(params)FolderIterator取得目前資料夾的子資料夾,並符合指定搜尋條件的所有資料夾集合。
setDescription(description)Folder設定 Folder 的說明。
setName(name)Folder設定 Folder 的名稱。
setOwner(emailAddress)Folder變更 Folder 的擁有者。
setOwner(user)Folder變更 Folder 的擁有者。
setSecurityUpdateEnabled(enabled)Folder設定 Folder 是否需要使用資源索引鍵存取權,以便透過連結共用。
setShareableByEditors(shareable)Folder設定是否允許具備 Folder 編輯權限的使用者與其他使用者共用或變更權限。
setSharing(accessType, permissionType)Folder除了明確授予存取權的個別使用者外,此屬性還可設定哪些使用者類別可存取 Folder,以及授予這些使用者的權限。
setStarred(starred)Folder設定 Folder 是否已在使用者的 Google 雲端硬碟中加星號。
setTrashed(trashed)Folder設定 Folder 是否位於使用者雲端硬碟的垃圾桶中。

FolderIterator

方法

方法傳回類型簡短說明
getContinuationToken()String取得可用於稍後繼續執行此迭代的符記。
hasNext()Boolean判斷呼叫 next() 是否會傳回項目。
next()Folder取得檔案或資料夾集合中的下一個項目。

Permission

屬性

屬性類型說明
VIEWEnum可存取檔案或資料夾的使用者只能查看或複製檔案。
EDITEnum凡是能存取檔案或資料夾的使用者,都能編輯檔案或資料夾。
COMMENTEnum有權存取檔案或資料夾的使用者只能查看、複製或加註檔案。
OWNEREnum使用者擁有檔案或資料夾。
ORGANIZEREnum可在共用雲端硬碟中管理檔案和資料夾的使用者。
FILE_ORGANIZEREnum可在共用雲端硬碟中編輯、移至垃圾桶和移動內容的使用者。
NONEEnum使用者沒有任何檔案或資料夾的權限。

User

方法

方法傳回類型簡短說明
getDomain()String取得與使用者帳戶相關聯的網域名稱。
getEmail()String取得使用者的電子郵件地址。
getName()String取得使用者名稱。
getPhotoUrl()String取得使用者相片的網址。