Drive Service

Google 雲端硬碟

這項服務可讓指令碼在 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 雲端硬碟中建立、尋找及修改檔案和資料夾。
File儲存在 Google 雲端硬碟中的檔案。
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 任意資料,在使用者雲端硬碟的根目錄中建立檔案。
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針對影響項目父項的所有呼叫啟用或停用 forceSingleParent 行為。
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如果這是 Shortcut,請傳回其指向項目的 MIME 類型。
getTargetResourceKey()String如果檔案是捷徑,請回傳其指向項目的資源鍵。
getThumbnail()Blob取得檔案的縮圖圖片;如果沒有縮圖,則為 null
getUrl()String取得可用於在雲端硬碟或文件等 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 加上星號。
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 應用程式中開啟 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 加上星號。
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取得使用者相片的網址。