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 在使用者雲端硬碟的根目錄中建立檔案。
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針對影響項目父項的所有呼叫,啟用或停用強制執行 SingleParent 行為。
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 的形式傳回這個物件中的資料,做為轉換成指定內容類型的 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 的網址,例如: Google 雲端硬碟或文件。
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 的網址,例如: Google 雲端硬碟或文件。
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取得使用者相片的網址。