Thư mục dữ liệu ứng dụng là một thư mục ẩn đặc biệt mà ứng dụng của bạn có thể dùng để lưu trữ dữ liệu dành riêng cho ứng dụng, chẳng hạn như tệp cấu hình. Thư mục dữ liệu ứng dụng sẽ tự động được tạo khi bạn cố gắng tạo một tệp trong thư mục đó. Sử dụng thư mục này để lưu trữ mọi tệp mà người dùng không nên tương tác trực tiếp. Chỉ ứng dụng của bạn mới có thể truy cập vào thư mục này và nội dung của thư mục sẽ bị ẩn đối với người dùng và các ứng dụng khác của Google Drive.
Thư mục dữ liệu ứng dụng sẽ bị xoá khi người dùng gỡ cài đặt ứng dụng của bạn khỏi phần Drive của tôi. Người dùng cũng có thể xoá thư mục dữ liệu của ứng dụng theo cách thủ công.
Phạm vi thư mục dữ liệu ứng dụng
Bạn phải yêu cầu quyền truy cập vào phạm vi https://www.googleapis.com/auth/drive.appdata
không nhạy cảm thì mới có thể truy cập vào thư mục dữ liệu ứng dụng. Để biết thêm thông tin về các phạm vi và cách yêu cầu quyền truy cập vào các phạm vi đó, hãy tham khảo bài viết Chọn phạm vi API Google Drive. Để biết thêm thông tin về các phạm vi OAuth 2.0 cụ thể, hãy xem Phạm vi OAuth 2.0 cho các API của Google.
Điểm khác biệt giữa thư mục dữ liệu ứng dụng và thư mục sao lưu trên Drive
Thư mục dữ liệu ứng dụng tách biệt với thư mục sao lưu trên Drive.
Thư mục dữ liệu ứng dụng là một thư mục cấu hình được tạo cho mỗi ứng dụng bên thứ ba và mỗi ứng dụng bên thứ ba có thể lưu trữ dữ liệu trong thư mục này. Chỉ ứng dụng đã tạo dữ liệu trong appDataFolder
mới có thể truy cập vào dữ liệu đó. Bạn không thể truy cập vào thư mục này bằng giao diện người dùng (UI) của Drive.
Thư mục sao lưu trên Drive là một thư mục dành riêng mà Drive dùng để ghi các bản sao lưu thiết bị và thư mục này xuất hiện trong giao diện người dùng của Drive.
Các ràng buộc đối với thư mục dữ liệu ứng dụng
Các điều kiện ràng buộc sau đây được thực thi khi bạn làm việc với thư mục dữ liệu ứng dụng:
Bạn không thể chia sẻ tệp hoặc thư mục bên trong thư mục dữ liệu ứng dụng. Việc cố gắng làm như vậy sẽ tạo ra lỗi
notSupportedForAppDataFolderFiles
kèm theo thông báo lỗi sau: "Phương thức không được hỗ trợ cho các tệp trong thư mục Dữ liệu ứng dụng".Bạn không thể di chuyển tệp trong
appDataFolder
giữa các vị trí lưu trữ (không gian). Việc cố gắng làm như vậy sẽ tạo ra lỗinotSupportedForAppDataFolderFiles
kèm theo thông báo lỗi sau: "Phương thức không được hỗ trợ cho các tệp trong thư mục Dữ liệu ứng dụng". Để biết thêm thông tin, hãy xem phần Sắp xếp tệp.Bạn không thể chuyển tệp hoặc thư mục vào thùng rác trong thư mục dữ liệu ứng dụng. Nếu bạn cố gắng làm như vậy, hệ thống sẽ tạo ra lỗi
notSupportedForAppDataFolderFiles
kèm theo thông báo lỗi sau: "Không thể chuyển các tệp trong thư mục Dữ liệu ứng dụng vào thùng rác".
Tạo một tệp trong thư mục dữ liệu ứng dụng
Để tạo một tệp trong thư mục dữ liệu ứng dụng, hãy chỉ định appDataFolder
trong thuộc tính parents
của tệp và sử dụng phương thức files.create
để tạo tệp trong thư mục.
Mẫu mã sau đây cho thấy cách chèn một tệp vào một thư mục bằng cách sử dụng thư viện ứng dụng và lệnh curl.
Java
Python
Node.js
PHP
.NET
curl
Yêu cầu:
curl --request POST \
'https://content.googleapis.com/drive/v3/files' \
-H 'authorization: Bearer ACCESS_TOKEN' \
-H 'content-type: application/json' \
-H 'x-origin: https://explorer.apis.google.com' \
--data-raw '{"name": "config.json", "parents":["appDataFolder"]}'
Thay thế ACCESS_TOKEN bằng mã thông báo OAuth 2.0 của ứng dụng.
Câu trả lời:
{
"kind": "drive#file",
"id": FILE_ID,
"name": "config.json",
"mimeType": "application/json"
}
Để biết thêm thông tin về cách tạo tệp trong thư mục, hãy tham khảo bài viết Tạo và điền sẵn nội dung cho thư mục.
Tìm tệp trong thư mục dữ liệu ứng dụng
Để tìm kiếm tệp trong thư mục dữ liệu ứng dụng, hãy đặt trường spaces
thành appDataFolder
và sử dụng phương thức files.list
.
Mẫu mã sau đây cho thấy cách tìm kiếm tệp trong thư mục dữ liệu ứng dụng bằng cách dùng một thư viện ứng dụng và lệnh curl.
Java
Python
Node.js
PHP
.NET
curl
Yêu cầu:
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files?spaces=appDataFolder&fields=files(id,name,mimeType,size,modifiedTime)"
Thay thế ACCESS_TOKEN bằng mã thông báo OAuth 2.0 của ứng dụng.
Câu trả lời:
{
"files": [
{
"mimeType": "application/json",
"size": "256",
"id": FILE_ID,
"name": "config.json",
"modifiedTime": "2025-04-03T23:40:05.860Z"
},
{
"mimeType": "text/plain",
"size": "128",
"id": FILE_ID,
"name": "user_settings.txt",
"modifiedTime": "2025-04-02T17:52:29.020Z"
}
]
}
Tải tệp xuống từ thư mục dữ liệu ứng dụng
Để tải một tệp xuống từ thư mục dữ liệu ứng dụng, hãy dùng phương thức files.get
với tham số URL alt=media
để truy xuất nội dung tệp trong phần nội dung phản hồi. Để biết thêm thông tin và xem mã mẫu, hãy truy cập vào phần Tải nội dung tệp blob xuống.
Mã mẫu sau đây cho biết cách tải tệp xuống trong thư mục dữ liệu ứng dụng bằng lệnh curl. Nội dung phản hồi sẽ khác nhau tuỳ thuộc vào nội dung được lưu.
curl
Yêu cầu:
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files/FILE_ID?alt=media"
Thay thế nội dung sau:
- ACCESS_TOKEN: Mã thông báo OAuth 2.0 của ứng dụng.
- FILE_ID: Mã nhận dạng của tệp bạn muốn tải xuống.