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 các tệp hoặ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

Tài sảnLoạiNội dung mô tả
AccessAccessMột enum biểu thị các lớp người dùng có thể truy cập vào 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.
PermissionPermissionMột enum biểu thị các quyền đã cấp cho những người dùng có thể truy cập vào tệp hoặc thư mục, bên cạnh mọi người dùng cá nhân đã được cấp quyền truy cập một cách rõ ràng.

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
continueFileIterator(continuationToken)FileIteratorTiếp tục vòng lặp tệp bằ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 vòng lặp thư mục bằ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 dữ liệu tuỳ ý nhất định.
createFile(name, content)FileTạo một tệp văn bản có tên và nội dung đã đặt trong thư mục gốc của Drive của người dùng.
createFile(name, content, mimeType)FileTạo một tệp trong thư mục gốc trên Drive của người dùng với tên, nội dung và loại MIME đã cho.
createFolder(name)FolderTạo thư mục trong thư mục gốc trong Drive của người dùng theo tên đã đặt.
createShortcut(targetId)FileTạo một lối tắt đến mã mục Drive được cung cấp rồi trả về mã đó.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileTạo một lối tắt đến mã mục Drive và khoá tài nguyên được cung cấp rồi trả về mã đó.
enforceSingleParent(value)voidBật hoặc tắt hành vi performSingleParent cho tất cả các lệnh gọi ảnh hưởng đến phần tử mẹ của mụ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 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 tập hợp tất cả các tệp trong Drive của người dùng có loại MIME đã cho.
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ả các thư mục trong Drive của người dùng.
getFoldersByName(name)FolderIteratorLấy tập hợp tất cả các thư mục có tên cụ thể trong Drive của người dùng.
getRootFolder()FolderLấy thư mục ở 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 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 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 tập hợp tất cả các tệp trong Drive của người dùng khớp với các tiêu chí tìm kiếm nhất định.
searchFolders(params)FolderIteratorLấy tập hợp tất cả các thư mục trong Drive của người dùng khớp với các tiêu chí tìm kiếm nhất định.

Tài liệu chi tiết

continueFileIterator(continuationToken)

Tiếp tục vòng lặp tệp bằ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());
}

Các tham số

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

Cầu thủ trả bóng

FileIterator – Tập hợp các tệp được lưu trong 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 vòng lặp thư mục bằ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());
}

Các tham số

TênLoạiNội dung mô 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 lưu trong 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 dữ liệu tuỳ ý nhất định.

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

Các tham số

TênLoạiNội dung mô 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 cần đượ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 có tên và nội dung đã đặt trong thư mục gốc của Drive của người dùng. Gửi một trường hợp 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!');

Các tham số

TênLoạiNội dung mô 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 cần đượ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 trên Drive của người dùng với tên, nội dung và loại MIME đã cho. Gửi một trường hợp 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);

Các tham số

TênLoạiNội dung mô 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 cần đượ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 thư mục trong thư mục gốc trong Drive của người dùng theo tên đã đặt.

Các tham số

TênLoạiNội dung mô 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 cần đượ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 một lối tắt đến mã mục Drive được cung cấp rồi trả về mã đó.

Các tham số

TênLoạiNội dung mô 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 cần đượ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 một lối tắt đến mã mục Drive và khoá tài nguyên được cung cấp rồi trả về mã đó. Khoá tài nguyên là một thông số bổ sung cần được truyền để truy cập vào tệp mục tiêu hoặc thư mục đã đượ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());
}

Các tham số

TênLoạiNội dung mô 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 cần đượ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 performSingleParent cho tất cả các lệnh gọi ảnh hưởng đến phần tử mẹ của mục.

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

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

Các tham số

TênLoạiNội dung mô tả
valueBooleanTrạng thái mới của cờ performSingleParent.

Ủy quyền

Tập lệnh sử dụng phương thức này cần đượ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ệ cho 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());
}

Các tham số

TênLoạiNội dung mô tả
idStringMã của tệp.

Cầu thủ trả bóng

File – Tệp có mã nhận dạng được cung cấp.

Ủy quyền

Tập lệnh sử dụng phương thức này cần đượ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 đườ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());
}

Các tham số

TênLoạiNội dung mô 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 được cung cấp.

Ủy quyền

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

Các tham số

TênLoạiNội dung mô 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ả các tệp có tên cụ thể trong Drive của người dùng.

Ủy quyền

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

Các tham số

TênLoạiNội dung mô tả
mimeTypeStringLoại MIME của 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 đã cho.

Ủy quyền

Tập lệnh sử dụng phương thức này cần đượ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ệ cho 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 lệnh đó.

Các tham số

TênLoạiNội dung mô tả
idStringMã của thư mục.

Cầu thủ trả bóng

Folder – Thư mục có mã nhận dạng được cung cấp.

Ủy quyền

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

Các tham số

TênLoạiNội dung mô 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 được cung cấp.

Ủy quyền

Tập lệnh sử dụng phương thức này cần đượ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 một tập hợp tất cả cá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

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

Các tham số

TênLoạiNội dung mô 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ả 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 cần đượ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 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 cần đượ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

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

Ủy quyền

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

Tải 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 cần đượ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()

Tải 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 cần đượ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ả các tệp trong Drive của người dùng khớp với các tiêu chí tìm kiếm nhất định. 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 v2 và v3.

Đố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 chú ý thoát dấu ngoặc kép 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());
}

Các tham số

TênLoạiNội dung mô 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ả cá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

Tập lệnh sử dụng phương thức này cần đượ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ả các thư mục trong Drive của người dùng khớp với các tiêu chí tìm kiếm nhất định. 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 v2 và v3.

Đố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 chú ý thoát dấu ngoặc kép 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());
}

Các tham số

TênLoạiNội dung mô 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ả cá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

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