Class DriveApp

DriveApp

Cho phép tập lệnh tạo, tìm và sửa đổi tệp cũng như thư mục trong Google Drive. Để truy cập vào tệp hoặc các thư mục trong bộ nhớ dùng chung, hãy sử dụng dịch vụ Drive nâng cao.

// 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());
}

Thuộc tính

Thuộc tínhLoạiMô tả
AccessAccessMột enum đại diện cho các lớp người dùng có thể truy cập vào một tệp hoặc thư mục, ngoài từng người dùng những người dùng đã được cấp quyền truy cập một cách rõ ràng.
PermissionPermissionMột enum thể hiện các quyền được cấp cho những người dùng có thể truy cập vào một tệp hoặc thư mục, bên cạnh đó bất kỳ người dùng cá nhân nào đã được cấp quyền truy cập một cách rõ ràng.

Phương thức

Phương thứcLoại dữ liệu trả vềMô tả ngắn
continueFileIterator(continuationToken)FileIteratorTiếp tục lặp lại tệp bằng cách sử dụng mã thông báo tiếp tục từ một trình lặp trước đó.
continueFolderIterator(continuationToken)FolderIteratorTiếp tục lặp lại thư mục bằng mã thông báo tiếp tục từ một biến lặp trước đó.
createFile(blob)FileTạo một tệp trong thư mục gốc của Drive của người dùng từ một Blob nhất định gồm dữ liệu tuỳ ý.
createFile(name, content)FileTạo một tệp văn bản trong thư mục gốc của Drive của người dùng có tên và nội dung cụ thể.
createFile(name, content, mimeType)FileTạo một tệp trong thư mục gốc của Drive của người dùng với tên, nội dung và loại MIME đã cho.
createFolder(name)FolderTạo một thư mục trong thư mục gốc của Drive của người dùng với tên được cung cấp.
createShortcut(targetId)FileTạo lối tắt đến mã mục được cung cấp trên Drive rồi trả về mã đó.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileTạo lối tắt đến mã mục và khoá tài nguyên được cung cấp trên Drive rồi trả về.
enforceSingleParent(value)voidBật hoặc vô hiệu hoá việc thực thi hành vi SingleParent cho tất cả các lệnh gọi ảnh hưởng đến mục gốc.
getFileById(id)FileLấy tệp có mã nhận dạng đã cho.
getFileByIdAndResourceKey(id, resourceKey)FileLấy tệp có mã nhận dạng và khoá tài nguyên đã cho.
getFiles()FileIteratorLấy một tập hợp tất cả các tệp trong Drive của người dùng.
getFilesByName(name)FileIteratorLấy một tập hợp tất cả các tệp có tên cụ thể trong Drive của người dùng.
getFilesByType(mimeType)FileIteratorLấy một tập hợp tất cả các tệp trong Drive của người dùng có loại MIME cho sẵn.
getFolderById(id)FolderLấy thư mục có mã nhận dạng đã cho.
getFolderByIdAndResourceKey(id, resourceKey)FolderLấy thư mục có mã nhận dạng và khoá tài nguyên đã cho.
getFolders()FolderIteratorLấy một tập hợp tất cả thư mục trong Drive của người dùng.
getFoldersByName(name)FolderIteratorLấy một tập hợp tất cả các thư mục trong Drive của người dùng có cùng tên.
getRootFolder()FolderLấy thư mục này ở thư mục gốc trong Drive của người dùng.
getStorageLimit()IntegerLấy số byte mà người dùng được phép lưu trữ trong Drive.
getStorageUsed()IntegerLấy số byte mà người dùng hiện đang lưu trữ trong Drive.
getTrashedFiles()FileIteratorTải một tập hợp tất cả các tệp trong thùng rác trên Drive của người dùng.
getTrashedFolders()FolderIteratorTải một tập hợp tất cả thư mục trong thùng rác trên Drive của người dùng.
searchFiles(params)FileIteratorLấy một tập hợp tất cả các tệp trong Drive của người dùng khớp với nội dung tìm kiếm cụ thể tiêu chí.
searchFolders(params)FolderIteratorLấy một tập hợp tất cả thư mục trong Drive của người dùng khớp với nội dung tìm kiếm đã cho tiêu chí.

Tài liệu chi tiết

continueFileIterator(continuationToken)

Tiếp tục lặp lại tệp bằng cách sử dụng mã thông báo tiếp tục từ một trình lặp trước đó. Phương thức này hữu ích nếu việc xử lý trình lặp trong một lần thực thi vượt quá thời gian thực thi tối đa. Mã thông báo Tiếp tục thường có hiệu lực trong một tuần.

// 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());
}

Tham số

TênLoạiMô tả
continuationTokenStringMã thông báo tiếp tục từ một trình lặp tệp trước đó.

Cầu thủ trả bóng

FileIterator – Một tập hợp các tệp vẫn còn trong một trình lặp trước đó khi mã thông báo tiếp tục đã được tạo.


continueFolderIterator(continuationToken)

Tiếp tục lặp lại thư mục bằng mã thông báo tiếp tục từ một biến lặp trước đó. Phương thức này hữu ích nếu việc xử lý trình lặp trong một lần thực thi vượt quá thời gian thực thi tối đa. Mã thông báo Tiếp tục thường có hiệu lực trong một tuần.

// 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());
}

Tham số

TênLoạiMô tả
continuationTokenStringMã thông báo tiếp tục từ một biến lặp của thư mục trước đó.

Cầu thủ trả bóng

FolderIterator – Một tập hợp các thư mục vẫn còn trong một biến lặp trước đó khi tiếp tục mã thông báo đã được tạo.


createFile(blob)

Tạo một tệp trong thư mục gốc của Drive của người dùng từ một Blob nhất định gồm dữ liệu tuỳ ý.

// 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);

Tham số

TênLoạiMô tả
blobBlobSourceDữ liệu của tệp mới.

Cầu thủ trả bóng

File — Tệp mới.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

createFile(name, content)

Tạo một tệp văn bản trong thư mục gốc của Drive của người dùng có tên và nội dung cụ thể. Gửi một ngoại lệ nếu content lớn hơn 50 MB.

// Create a text file with the content "Hello, world!"
DriveApp.createFile('New Text File', 'Hello, world!');

Tham số

TênLoạiMô tả
nameStringTên của tệp mới.
contentStringNội dung của tệp mới.

Cầu thủ trả bóng

File — Tệp mới.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

createFile(name, content, mimeType)

Tạo một tệp trong thư mục gốc của Drive của người dùng với tên, nội dung và loại MIME đã cho. Gửi ngoại lệ nếu content lớn hơn 10 MB.

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

Tham số

TênLoạiMô tả
nameStringTên của tệp mới.
contentStringNội dung của tệp mới.
mimeTypeStringLoại MIME của tệp mới.

Cầu thủ trả bóng

File — Tệp mới.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

createFolder(name)

Tạo một thư mục trong thư mục gốc của Drive của người dùng với tên được cung cấp.

Tham số

TênLoạiMô tả
nameStringTên của thư mục mới.

Cầu thủ trả bóng

Folder – Thư mục mới.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

createShortcut(targetId)

Tạo lối tắt đến mã mục được cung cấp trên Drive rồi trả về mã đó.

Tham số

TênLoạiMô tả
targetIdStringMã tệp của tệp hoặc thư mục đích.

Cầu thủ trả bóng

File — Lối tắt mới.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Tạo lối tắt đến mã mục và khoá tài nguyên được cung cấp trên Drive rồi trả về. Tài nguyên khoá là thông số bổ sung cần được truyền để truy cập vào tệp hoặc thư mục đích đã được chia sẻ bằng một liên kết.

// 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());
}

Tham số

TênLoạiMô tả
targetIdStringMã của tệp hoặc thư mục đích.
targetResourceKeyStringKhoá tài nguyên của tệp hoặc thư mục đích.

Cầu thủ trả bóng

File — Lối tắt mới.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

enforceSingleParent(value)

Bật hoặc vô hiệu hoá việc thực thi hành vi SingleParent cho tất cả các lệnh gọi ảnh hưởng đến mục gốc.

Xem blog Đơn giản hoá cấu trúc thư mục và các mô hình chia sẻ của Google Drive cho chi tiết hơn.

// Enables enforceSingleParent behavior for all calls affecting item parents.
DriveApp.enforceSingleParent(true);

Tham số

TênLoạiMô tả
valueBooleanTrạng thái mới của cờ thực thi SingleParent.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive

getFileById(id)

Lấy tệp có mã nhận dạng đã cho. Gửi một ngoại lệ về tập lệnh nếu tệp không tồn tại hoặc người dùng không có quyền truy cập vào công cụ đó.

// 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());
}

Tham số

TênLoạiMô tả
idStringMã nhận dạng của tệp.

Cầu thủ trả bóng

File – Tệp có mã nhận dạng đã cho.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFileByIdAndResourceKey(id, resourceKey)

Lấy tệp có mã nhận dạng và khoá tài nguyên đã cho. Khoá tài nguyên là một tham số bổ sung cần được chuyển để truy cập vào các tệp đã được chia sẻ bằng đường liên kết.

Gửi một ngoại lệ về tập lệnh nếu tệp không tồn tại hoặc người dùng không có quyền để truy cập vào tệp đó.

// 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());
}

Tham số

TênLoạiMô tả
idStringMã nhận dạng của tệp.
resourceKeyStringKhoá tài nguyên của thư mục.

Cầu thủ trả bóng

File – Tệp có mã nhận dạng đã cho.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFiles()

Lấy một tập hợp tất cả các tệp trong Drive của người dùng.

Cầu thủ trả bóng

FileIterator – Tập hợp tất cả các tệp trong Drive của người dùng.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByName(name)

Lấy một tập hợp tất cả các tệp có tên cụ thể trong Drive của người dùng.

Tham số

TênLoạiMô tả
nameStringTên của các tệp cần tìm.

Cầu thủ trả bóng

FileIterator – Một tập hợp tất cả các tệp trong Drive của người dùng có tên cụ thể.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByType(mimeType)

Lấy một tập hợp tất cả các tệp trong Drive của người dùng có loại MIME cho sẵn.

Tham số

TênLoạiMô tả
mimeTypeStringLoại MIME của các tệp cần tìm.

Cầu thủ trả bóng

FileIterator – Tập hợp tất cả các tệp trong Drive của người dùng có MIME đã cho loại.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderById(id)

Lấy thư mục có mã nhận dạng đã cho. Gửi một ngoại lệ về tập lệnh nếu thư mục không tồn tại hoặc người dùng không có quyền truy cập vào công cụ đó.

Tham số

TênLoạiMô tả
idStringMã nhận dạng của thư mục.

Cầu thủ trả bóng

Folder – Thư mục có mã nhận dạng đã cho.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderByIdAndResourceKey(id, resourceKey)

Lấy thư mục có mã nhận dạng và khoá tài nguyên đã cho. Khoá tài nguyên là một tham số bổ sung cần được chuyển để truy cập vào các thư mục đã được chia sẻ bằng liên kết.

Gửi một ngoại lệ về tập lệnh nếu thư mục không tồn tại hoặc người dùng không có quyền để truy cập vào tệp đó.

Tham số

TênLoạiMô tả
idStringMã nhận dạng của thư mục.
resourceKeyStringKhoá tài nguyên của thư mục.

Cầu thủ trả bóng

Folder – Thư mục có mã nhận dạng đã cho.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolders()

Lấy một tập hợp tất cả thư mục trong Drive của người dùng.

Cầu thủ trả bóng

FolderIterator – Tập hợp tất cả các thư mục trong Drive của người dùng.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFoldersByName(name)

Lấy một tập hợp tất cả các thư mục trong Drive của người dùng có cùng tên.

Tham số

TênLoạiMô tả
nameStringTên của các thư mục cần tìm.

Cầu thủ trả bóng

FolderIterator – Tập hợp tất cả các thư mục trong Drive của người dùng có tên cụ thể.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getRootFolder()

Lấy thư mục này ở thư mục gốc trong Drive của người dùng.

// 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());

Cầu thủ trả bóng

Folder – Thư mục gốc trong Drive của người dùng.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageLimit()

Lấy số byte mà người dùng được phép lưu trữ trong Drive.

// Gets the number of bytes the user can store in Drive and logs it to the console.
console.log(DriveApp.getStorageLimit());

Cầu thủ trả bóng

Integer – Số byte người dùng được phép lưu trữ trong Drive.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageUsed()

Lấy số byte mà người dùng hiện đang lưu trữ trong Drive.

// Gets the number of bytes the user is currently storing in Drive and logs it to the console.
console.log(DriveApp.getStorageUsed());

Cầu thủ trả bóng

Integer – Số byte mà người dùng đang lưu trữ trong Drive.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFiles()

Tải một tập hợp tất cả các tệp trong thùng rác trên Drive của người dùng.

// 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());
}

Cầu thủ trả bóng

FileIterator — Một tập hợp các tệp trong thùng rác.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFolders()

Tải một tập hợp tất cả thư mục trong thùng rác trên Drive của người dùng.

// 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());
}

Cầu thủ trả bóng

FolderIterator — Một tập hợp các thư mục trong thùng rác.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFiles(params)

Lấy một tập hợp tất cả các tệp trong Drive của người dùng khớp với nội dung tìm kiếm cụ thể tiêu chí. Tiêu chí tìm kiếm được nêu chi tiết trong tài liệu về SDK của Google Drive. Lưu ý rằng Drive dịch vụ sử dụng phiên bản 2 của API Drive và một số trường truy vấn khác với phiên bản 3. Xem xét trường sự khác biệt giữa phiên bản 2 và phiên bản 3.

Đối số params là một chuỗi truy vấn có thể chứa các giá trị chuỗi, vì vậy, hãy thận trọng để thoát khỏi dấu ngoặc kép một cách chính xác (ví dụ: "title contains 'Gulliver\\'s Travels'" hoặc '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());
}

Tham số

TênLoạiMô tả
paramsStringTiêu chí tìm kiếm, như đã nêu chi tiết trong tài liệu về SDK của Google Drive.

Cầu thủ trả bóng

FileIterator — Tập hợp tất cả các tệp trong Drive của người dùng khớp với nội dung tìm kiếm tiêu chí.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFolders(params)

Lấy một tập hợp tất cả thư mục trong Drive của người dùng khớp với nội dung tìm kiếm đã cho tiêu chí. Tiêu chí tìm kiếm được nêu chi tiết trong tài liệu về SDK của Google Drive. Lưu ý rằng Drive dịch vụ sử dụng phiên bản 2 của API Drive và một số trường truy vấn khác với phiên bản 3. Xem xét trường sự khác biệt giữa phiên bản 2 và phiên bản 3.

Đối số params là một chuỗi truy vấn có thể chứa các giá trị chuỗi, vì vậy, hãy thận trọng để thoát khỏi dấu ngoặc kép một cách chính xác (ví dụ: "title contains 'Gulliver\\'s Travels'" hoặc '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());
}

Tham số

TênLoạiMô tả
paramsStringTiêu chí tìm kiếm, như đã nêu chi tiết trong tài liệu về SDK của Google Drive.

Cầu thủ trả bóng

FolderIterator — Tập hợp tất cả các thư mục trong Drive của người dùng khớp với nội dung tìm kiếm tiêu chí.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

Các phương thức ngừng hoạt động