应用数据文件夹是一个特殊的隐藏文件夹,您的应用可以使用该文件夹存储特定于应用的数据,例如配置文件。当您尝试在该文件夹中创建文件时,系统会自动创建应用数据文件夹。使用此文件夹存储用户不应直接与之互动的任何文件。只有您的应用可以访问此文件夹,并且其内容会对用户和其他 Google 云端硬盘应用隐藏。
当用户从“我的云端硬盘”中卸载您的应用时,应用数据文件夹会被删除。用户还可以手动删除应用的数据文件夹。
应用数据文件夹范围
您必须先请求访问 https://www.googleapis.com/auth/drive.appdata
非敏感范围,然后才能访问应用数据文件夹。如需详细了解范围以及如何请求访问权限,请参阅选择 Google Drive API 范围。如需详细了解特定 OAuth 2.0 范围,请参阅适用于 Google API 的 OAuth 2.0 范围。
应用数据文件夹与云端硬盘备份文件夹的区别
应用数据文件夹与云端硬盘备份文件夹是分开的。
应用数据文件夹是一个配置文件夹,系统会为每个第三方应用创建一个,每个第三方应用都可以在其中存储数据。只有在 appDataFolder
中创建数据的应用才能访问这些数据。您无法使用云端硬盘界面 (UI) 访问该文件夹。
云端硬盘备份文件夹是一个预留文件夹,云端硬盘会将设备备份写入其中,并且该文件夹会显示在云端硬盘界面中。
应用数据文件夹的限制
在使用应用数据文件夹时,系统会强制执行以下约束条件:
您无法共享应用数据文件夹中的文件或文件夹。 如果尝试这样做,系统会生成
notSupportedForAppDataFolderFiles
错误,并显示以下错误消息:“Application Data 文件夹中的文件不支持此方法。”您无法在存储位置(聊天室)之间移动
appDataFolder
中的文件。如果尝试这样做,系统会生成notSupportedForAppDataFolderFiles
错误,并显示以下错误消息:“Application Data 文件夹中的文件不支持此方法。”如需了解详情,请参阅文件组织。您无法将应用数据文件夹中的文件或文件夹移至回收站。如果您尝试这样做,系统会生成
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。