La carpeta de datos de la aplicación es una carpeta oculta especial que tu app puede usar para almacenar datos específicos de la aplicación, como archivos de configuración. La carpeta de datos de la aplicación se crea automáticamente cuando intentas crear un archivo en ella. Usa esta carpeta para almacenar archivos con los que el usuario no debería interactuar directamente. Solo tu app puede acceder a esta carpeta, y su contenido está oculto para el usuario y para otras apps de Google Drive.
La carpeta de datos de la aplicación se borra cuando un usuario desinstala tu app de su cuenta de Mi unidad. Los usuarios también pueden borrar la carpeta de datos de tu app de forma manual.
Alcance de la carpeta de datos de la aplicación
Antes de que puedas acceder a la carpeta de datos de la aplicación, debes solicitar acceso al permiso no sensible https://www.googleapis.com/auth/drive.appdata
. Para obtener más información sobre los permisos y cómo solicitar acceso a ellos, consulta Elige permisos para la API de Google Drive. Para obtener más información sobre los permisos de OAuth 2.0 específicos, consulta Permisos de OAuth 2.0 para las APIs de Google.
Diferencias entre la carpeta de datos de la aplicación y las carpetas de copia de seguridad de Drive
La carpeta de datos de la aplicación es independiente de la carpeta de copia de seguridad de Drive.
La carpeta de datos de la aplicación es una carpeta de configuración que se crea por app de terceros, y cada app de terceros puede almacenar datos en ella. Solo la aplicación que creó los datos en appDataFolder
puede acceder a ellos. No se puede acceder a la carpeta con la interfaz de usuario (IU) de Drive.
La carpeta de copia de seguridad de Drive es una carpeta reservada en la que Drive escribe las copias de seguridad de los dispositivos y se puede ver en la IU de Drive.
Restricciones en la carpeta de datos de la aplicación
Se aplican las siguientes restricciones cuando se trabaja con la carpeta de datos de la aplicación:
No puedes compartir archivos ni carpetas dentro de la carpeta de datos de la aplicación. Si intentas hacerlo, se generará un error
notSupportedForAppDataFolderFiles
con el siguiente mensaje de error: “El método no es compatible con los archivos de la carpeta Datos de aplicaciones”.No puedes mover archivos de
appDataFolder
entre ubicaciones de almacenamiento (espacios). Si intentas hacerlo, se generará un errornotSupportedForAppDataFolderFiles
con el siguiente mensaje de error: “El método no es compatible con los archivos de la carpeta Datos de aplicaciones”. Para obtener más información, consulta Organización de archivos.No puedes enviar a la papelera archivos ni carpetas dentro de la carpeta de datos de la aplicación. Si intentas hacerlo, se generará un error
notSupportedForAppDataFolderFiles
con el siguiente mensaje de error: “No se pueden enviar a la papelera los archivos de la carpeta de datos de la aplicación”.
Crea un archivo en la carpeta de datos de la aplicación
Para crear un archivo en la carpeta de datos de la aplicación, especifica appDataFolder
en la propiedad parents
del archivo y usa el método files.create
para crear el archivo en la carpeta.
En el siguiente ejemplo de código, se muestra cómo insertar un archivo en una carpeta con una biblioteca cliente y un comando 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"]}'
Reemplaza ACCESS_TOKEN por el token de OAuth 2.0 de tu app.
Respuesta:
{
"kind": "drive#file",
"id": FILE_ID,
"name": "config.json",
"mimeType": "application/json"
}
Para obtener más información sobre cómo crear archivos en carpetas, consulta Cómo crear y propagar carpetas.
Busca archivos en la carpeta de datos de la aplicación
Para buscar archivos en la carpeta de datos de la aplicación, configura el campo spaces
como appDataFolder
y usa el método files.list
.
En el siguiente ejemplo de código, se muestra cómo buscar archivos en la carpeta de datos de la aplicación con una biblioteca cliente y un comando 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)"
Reemplaza ACCESS_TOKEN por el token de OAuth 2.0 de tu app.
Respuesta:
{
"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"
}
]
}
Descargar archivos de la carpeta de datos de la aplicación
Para descargar un archivo de la carpeta de datos de la aplicación, usa el método files.get
con el parámetro de URL alt=media
para recuperar el contenido del archivo en el cuerpo de la respuesta. Para obtener más información y ver muestras de código, consulta Cómo descargar el contenido de un archivo de blob.
En la siguiente muestra de código, se muestra cómo descargar archivos de la carpeta de datos de la aplicación con un comando curl. El cuerpo de la respuesta variará según lo que se salve.
curl
Request:
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files/FILE_ID?alt=media"
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es el token de OAuth 2.0 de tu app.
- FILE_ID: El ID del archivo que deseas descargar.