应用数据文件夹是一个特殊的隐藏文件夹,您的应用可使用该文件夹来存储特定于应用的数据,例如配置文件。当您尝试在应用数据文件夹中创建文件时,系统会自动创建该文件夹。 使用此文件夹存储用户不应直接互动的任何文件。此文件夹仅可由您的应用访问,其内容对用户和其他 Google 云端硬盘应用隐藏。
当用户从其“我的云端硬盘”中卸载您的应用时,应用数据文件夹会被删除。用户还可以手动删除应用的数据文件夹。
应用数据文件夹范围
您必须先请求获得 https://www.googleapis.com/auth/drive.appdata
非敏感范围的访问权限,然后才能访问应用数据文件夹。如需详细了解范围以及如何请求访问范围,请参阅选择 Google Drive API 范围。如需详细了解特定的 OAuth 2.0 范围,请参阅适用于 Google API 的 OAuth 2.0 范围。
应用数据文件夹与云端硬盘备份文件夹有何不同
应用数据文件夹与云端硬盘备份文件夹是分开的。
应用数据文件夹是为每个第三方应用创建的配置文件夹,每个第三方应用都可以在其中存储数据。只有在 appDataFolder
中创建数据的应用才能访问该数据。无法使用云端硬盘界面访问该文件夹。
云端硬盘备份文件夹是一个预留文件夹,云端硬盘会将设备备份写入其中,并且该文件夹会在云端硬盘界面中显示。
应用数据文件夹的限制
使用应用数据文件夹时,系统会强制执行以下限制:
您无法共享应用数据文件夹中的文件或文件夹。 如果尝试这样做,系统会生成
notSupportedForAppDataFolderFiles
错误,并显示以下错误消息:“Method not supported for files within the Application Data folder.”您无法在存储位置(空间)之间移动
appDataFolder
中的文件。如果尝试这样做,系统会生成notSupportedForAppDataFolderFiles
错误,并显示以下错误消息:“Method not supported for files within the Application Data folder.”如需了解详情,请参阅文件组织。您无法将应用数据文件夹中的文件或文件夹移到回收站。 如果您尝试这样做,系统会生成
notSupportedForAppDataFolderFiles
错误,并显示以下错误消息:“无法将应用数据文件夹中的文件放入回收站。”
在应用数据文件夹中创建文件
如需在应用数据文件夹中创建文件,请在文件的 parents
属性中指定 appDataFolder
,并使用 files.create
方法在相应文件夹中创建文件。
以下代码示例展示了如何使用客户端库和 curl 命令将文件插入文件夹。
Java
Python
Node.js
PHP
.NET
curl
Request 读取电子邮件的数据:
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"]}'
将 ACCESS_TOKEN 替换为应用的 OAuth 2.0 令牌。
回答:
{
"kind": "drive#file",
"id": FILE_ID,
"name": "config.json",
"mimeType": "application/json"
}
如需详细了解如何在文件夹中创建文件,请参阅创建文件夹并向其中添加内容。
在应用数据文件夹中搜索文件
如需在应用数据文件夹中搜索文件,请将 spaces
字段设置为 appDataFolder
,并使用 files.list
方法。
以下代码示例展示了如何使用客户端库和 curl 命令在应用数据文件夹中搜索文件。
Java
Python
Node.js
PHP
.NET
curl
Request 读取电子邮件的数据:
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files?spaces=appDataFolder&fields=files(id,name,mimeType,size,modifiedTime)"
将 ACCESS_TOKEN 替换为应用的 OAuth 2.0 令牌。
回答:
{
"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"
}
]
}
从应用数据文件夹下载文件
如需从应用数据文件夹下载文件,请使用 files.get
方法和 alt=media
网址参数,以检索响应正文中的文件内容。如需了解详情并查看代码示例,请参阅下载 Blob 文件内容。
以下代码示例展示了如何使用 curl 命令下载应用数据文件夹中的文件。响应正文会因保存的内容而异。
curl
Request 读取电子邮件的数据:
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files/FILE_ID?alt=media"
替换以下内容:
- ACCESS_TOKEN:应用的 OAuth 2.0 令牌。
- FILE_ID:您要下载的文件的 ID。