Class DriveApp

DriveApp

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

// Logs the name of every file in the user's Drive.
const files = DriveApp.getFiles();
while (files.hasNext()) {
  const 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 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.
PermissionPermissionMột enum đại diện cho các quyền được cấp cho người dùng có thể truy cập vào một tệp hoặc thư mục, ngoài 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 cách sử dụng mã thông báo tiếp tục từ một trình 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 chứa 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 với tên và nội dung đã cho.
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 có tên đã cho.
createShortcut(targetId)FileTạo lối tắt đến mã nhận dạng mục Drive đã cung cấp và trả về lối tắt đó.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileTạo lối tắt đến mã mục và khoá tài nguyên trên Drive đã cung cấp rồi trả về lối tắt đó.
enforceSingleParent(value)voidBật hoặc tắt hành vi enforceSingleParent cho tất cả các lệnh gọi ảnh hưởng đến phần tử mẹ.
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 tập hợp tất cả tệp trong Drive của người dùng.
getFilesByName(name)FileIteratorLấy tập hợp tất cả tệp có tên đã cho trong Drive của người dùng.
getFilesByType(mimeType)FileIteratorLấy tập hợp tất cả tệp trong Drive của người dùng có loại MIME nhất định.
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 tập hợp tất cả thư mục trong Drive của người dùng.
getFoldersByName(name)FolderIteratorLấy tập hợp tất cả thư mục có tên đã cho trong Drive của người dùng.
getRootFolder()FolderLấy thư mục ở thư mục gốc của 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()FileIteratorLấy tập hợp tất cả tệp trong thùng rác của Drive của người dùng.
getTrashedFolders()FolderIteratorLấy tập hợp tất cả thư mục trong thùng rác của Drive của người dùng.
searchFiles(params)FileIteratorLấy tập hợp tất cả tệp trong Drive của người dùng khớp với tiêu chí tìm kiếm đã cho.
searchFolders(params)FolderIteratorLấy tập hợp tất cả thư mục trong Drive của người dùng khớp với tiêu chí tìm kiếm đã cho.

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 rất hữu ích nếu việc xử lý một 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 còn lại 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 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 rất hữu ích nếu việc xử lý một 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 trình lặp 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 trình lặp trước đó khi mã thông báo tiếp tục đượ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 chứa dữ liệu tuỳ ý.

Tham số

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

Cầu thủ trả bóng

File – Tệp mới.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 với tên và nội dung đã cho. 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 có tên đã cho trong thư mục gốc của Drive của người dùng.

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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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ã nhận dạng mục trên Drive đã cung cấp và trả về lối tắt đó.

Tham số

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

Cầu thủ trả bóng

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

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 trên Drive đã cung cấp rồi trả về lối tắt đó. Khoá tài nguyên là một tham số bổ sung cần được truyền để truy cập vào tệp hoặc thư mục mục tiêu đã được chia sẻ bằng một đường 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 mục tiêu.
targetResourceKeyStringKhoá tài nguyên của tệp hoặc thư mục mục tiêu.

Cầu thủ trả bóng

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

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tắt hành vi enforceSingleParent cho tất cả các lệnh gọi ảnh hưởng đến phần tử mẹ.

Hãy xem bài đăng trên blog Đơn giản hoá cấu trúc thư mục và mô hình chia sẻ của Google Drive để biết thêm thông tin chi tiết.

// 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ờ enforceSingleParent.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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ệ 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 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ã của tệp.

Cầu thủ trả bóng

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

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 truyền để truy cập vào các tệp đã được chia sẻ bằng một đường liên kết.

Gửi một ngoại lệ 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ã 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tập hợp tất 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ả tệp trong Drive của người dùng.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tập hợp tất cả tệp có tên đã cho 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 – Tập hợp tất cả tệp có tên đã cho trong Drive của người dùng.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tập hợp tất cả tệp trong Drive của người dùng có loại MIME nhất định.

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ả tệp trong Drive của người dùng có loại MIME nhất định.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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ệ 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 thư mục đó.

Tham số

TênLoạiMô tả
idStringMã 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 thông số bổ sung cần được truyền để truy cập vào các thư mục đã được chia sẻ bằng một đường liên kết.

Gửi một ngoại lệ 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 thư mục đó.

Tham số

TênLoạiMô tả
idStringMã 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 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ả thư mục trong Drive của người dùng.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tập hợp tất cả thư mục có tên đã cho trong Drive của người dùng.

Tham số

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

Cầu thủ trả bóng

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

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 ở thư mục gốc của 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 của Drive của người dùng.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 mà người dùng được phép lưu trữ trong Drive.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 hiện đang lưu trữ trong Drive.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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()

Lấy tập hợp tất cả tệp trong thùng rác của 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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()

Lấy tập hợp tất cả thư mục trong thùng rác của 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

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tập hợp tất cả tệp trong Drive của người dùng khớp với tiêu chí tìm kiếm đã cho. Tiêu chí tìm kiếm được nêu chi tiết trong tài liệu về SDK Google Drive. Xin lưu ý rằng dịch vụ Drive 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 lại sự khác biệt về trường 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 cẩn thận để thoát 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.""
const files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

Tham số

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

Cầu thủ trả bóng

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

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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 tập hợp tất cả thư mục trong Drive của người dùng khớp với tiêu chí tìm kiếm đã cho. Tiêu chí tìm kiếm được nêu chi tiết trong tài liệu về SDK Google Drive. Xin lưu ý rằng dịch vụ Drive 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 lại sự khác biệt về trường 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 cẩn thận để thoát 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.
const folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const folder = folders.next();
  console.log(folder.getName());
}

Tham số

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

Cầu thủ trả bóng

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

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ 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