En este documento, se incluye información específica de la API de Google Drive sobre la autorización y la autenticación. Antes de leer este documento, asegúrate de leer la información general de autenticación y autorización de Google Workspace en Información sobre la autenticación y la autorización.
Configura OAuth 2.0 para la autorización
Para autorizar tu app, la API de Google Drive requiere que definas los permisos de OAuth en dos lugares: la consola de Google Cloud y tu app.
En la consola de Google Cloud, debes declarar los permisos que necesita tu app en la configuración de la pantalla de consentimiento de OAuth. Estos son el nivel más alto de permisos que tu app puede solicitar. Esto sirve como una solicitud formal a Google, y los permisos declarados son lo que Google muestra a los usuarios en la pantalla de consentimiento. Permite que el usuario comprenda exactamente a qué datos y acciones solicita acceso tu app.
Configura la pantalla de consentimiento de OAuth y elige los permisos para definir qué información se muestra a los usuarios y revisores de apps, y registra tu app para que puedas publicarla más adelante.
En tu app, cuando inicias la API, debes solicitar de forma explícita los permisos específicos que necesitas para esa sesión. Si bien la consola de Google Cloud define el nivel más alto de permisos que tu app puede solicitar, el código determina los permisos reales para un usuario determinado. Esto ayuda a garantizar que la app solo solicite los permisos necesarios para una tarea específica.
Puedes declarar uno o más permisos de OAuth a la vez dentro del código de tu app como un array.
En el siguiente ejemplo de código, se muestra cómo declarar varios permisos de OAuth:
Java
List<String> SCOPES = Arrays.asList(
DriveScopes.DRIVE_FILE,
DriveScopes.DRIVE_METADATA_READONLY
);
Python
SCOPES = [
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata.readonly",
]
Node.js
const SCOPES = [
'https://www.googleapis.com/auth/drive.file',
'https://www.googleapis.com/auth/drive.metadata.readonly'
];
Para ver cómo se declaran y usan los permisos en un ejemplo de código completo, consulta las guías de inicio rápido .
Permisos de la API de Drive
Para definir el nivel de acceso otorgado a tu app, debes identificar y declarar los permisos de autorización. Un permiso de autorización es una cadena de URI de OAuth 2.0 que contiene el nombre de la app de Google Workspace, el tipo de datos a los que accede y el nivel de acceso. Los permisos son las solicitudes de tu app para trabajar con datos de Google Workspace, incluidos los datos de la Cuenta de Google de los usuarios.
Cuando se instala tu app, se le solicita al usuario que valide los permisos que usa la app. Por lo general, debes elegir el permiso más específico posible y evitar solicitar permisos que tu app no requiera. Los usuarios otorgan acceso más fácilmente a los permisos limitados y claramente descritos.
Siempre que sea posible, usa permisos no sensibles, ya que otorgan acceso por archivo y acceso limitado a funciones específicas que necesita una app.
Permisos no sensibles
Se recomiendan los siguientes permisos de la API de Drive para la mayoría de los casos de uso:
| Código de permiso | Descripción |
|---|---|
https://www.googleapis.com/auth/drive.appdata |
Permite ver y administrar tus propios datos de configuración en tu cuenta de Google Drive. |
https://www.googleapis.com/auth/drive.install |
Permite que las apps aparezcan como una opción en el menú "Abrir con" o "Nuevo". |
https://www.googleapis.com/auth/drive.file |
Permite crear archivos nuevos de Drive o modificar los existentes que abres con una app o que el usuario comparte con una app mientras usa la API de Google Picker o el selector de archivos de la app. |
Permisos sensibles
| Código de permiso | Descripción |
|---|---|
https://www.googleapis.com/auth/drive.apps.readonly |
Permite ver las apps autorizadas para acceder a tu unidad de Drive. |
Permisos restringidos
| Código de permiso | Descripción |
|---|---|
https://www.googleapis.com/auth/drive |
Permite ver y administrar todos tus archivos de Drive. |
https://www.googleapis.com/auth/drive.readonly |
Permite ver y descargar todos tus archivos de Drive. |
https://www.googleapis.com/auth/drive.activity |
Permite ver y agregar contenido en el registro de actividad de los archivos de tu unidad de Drive. |
https://www.googleapis.com/auth/drive.activity.readonly |
Permite ver el registro de actividad de los archivos de tu unidad de Drive. |
https://www.googleapis.com/auth/drive.meet.readonly |
Permite ver los archivos de Drive que creó o editó Google Meet. |
https://www.googleapis.com/auth/drive.metadata |
Permite ver y administrar los metadatos de los archivos que almacenaste en Drive. |
https://www.googleapis.com/auth/drive.metadata.readonly |
Permite ver los metadatos de los archivos de tu Drive. |
https://www.googleapis.com/auth/drive.scripts |
Permite modificar el comportamiento de tus secuencias de comandos de Google Apps Script. |
Los permisos de las tablas anteriores indican su sensibilidad, según las siguientes definiciones:
No sensibles: Estos permisos proporcionan el alcance más pequeño de autorización y solo requieren la verificación básica de la app de OAuth . Para obtener más información, consulta los Requisitos de verificación.
Sensibles: Estos permisos proporcionan acceso a datos específicos de los usuarios de Google que los usuarios autorizan para tu app. Requieren una verificación adicional de la app de OAuth Verificación. Para obtener más información, consulta Requisitos de permisos sensibles y restringidos.
Restringidos: Estos permisos proporcionan un acceso amplio a los datos de los usuarios de Google y requieren la verificación de la app de OAuth de permisos restringidos. Para obtener más información, consulta la Política de Datos del Usuario de los Servicios de las APIs de Google y Requisitos adicionales para permisos específicos de la API. Consulta también las Condiciones del Servicio de Google Drive.
Si almacenas datos de permisos restringidos en servidores (o los transmites), debes someterte a una evaluación de seguridad.
Si tu app requiere acceso a otras APIs de Google, también puedes agregar esos permisos. Para obtener más información sobre los permisos de las APIs de Google, consulta Cómo usar OAuth 2.0 para acceder a las APIs de Google.
Para obtener más información sobre permisos específicos de OAuth 2.0, consulta Permisos de OAuth 2.0 para las APIs de Google.
Calificaciones para permisos restringidos
Solo se permite que ciertos tipos de aplicaciones usen permisos restringidos para Google Drive. Para calificar, tu app debe pertenecer a una de las siguientes categorías:
Copia de seguridad y sincronización: Apps específicas de la plataforma y web que proporcionan sincronización local o copia de seguridad automática de los archivos de Drive de los usuarios.
Productividad y educación: Apps con una interfaz de usuario principal que puede implicar la interacción con archivos, metadatos o permisos de Drive. Estas apps incluyen administración de tareas, toma de notas, comunicaciones de grupos de trabajo y apps de colaboración en el aula.
Informes y seguridad: Apps que proporcionan información del usuario o del cliente sobre cómo se comparten o acceden los archivos.
Para seguir usando permisos restringidos, debes preparar tu app para la verificación de permisos restringidos.
Migra una app existente de permisos restringidos
Si tu app de Drive usa permisos restringidos, te recomendamos que migres a un permiso no sensible de la API de Drive. El uso de permisos no sensibles, como drive.file, otorga acceso por archivo y acceso limitado a funciones específicas que necesita una app.
Muchas apps pueden hacer la transición al acceso por archivo sin realizar ningún cambio.
Si usas tu propio selector de archivos, te recomendamos que cambies a la API de Google Picker, que admite por completo diferentes permisos.
Beneficios del permiso de archivo de Drive
El uso del permiso de OAuth drive.file en combinación con la API de Google Picker optimiza la experiencia y la seguridad de los usuarios para tu app.
El permiso de OAuth drive.file permite que los usuarios elijan qué archivos quieren compartir con tu app. Esto les brinda más control y confianza de que el acceso de tu app a sus archivos es limitado y más seguro. Por el contrario, requerir un acceso amplio a todos los archivos de Drive podría disuadir a los usuarios de interactuar con tu app.
Estos son algunos motivos por los que debes usar el permiso drive.file:
Usabilidad: El permiso
drive.filefunciona con todos los recursos REST de la API de Drive , lo que significa que puedes usarlo de la misma manera que usas permisos de OAuth más amplios.Funciones: La API de Google Picker proporciona una interfaz similar a la IU de Drive. Esto incluye varias vistas que muestran vistas previas y miniaturas de los archivos de Drive, y una ventana modal intercalada para que los usuarios nunca salgan de la app principal.
Comodidad: Las apps pueden aplicar filtros para ciertos tipos de archivos de Drive (como Documentos, Hojas de cálculo y fotos de Google) cuando usan un filtro en los archivos de Google Picker.
Verificación directa: Como
drive.fileno es sensible, permite un proceso de verificación más optimizado.
Almacena tokens de actualización de forma segura
Para acceder a datos privados con la API de Drive, tu app debe obtener un token de acceso que otorgue acceso a esa API. Un solo token de acceso puede otorgar diferentes grados de acceso a varias APIs, según los permisos que solicites.
Debido a que los tokens de acceso son de corta duración, debes usar tokens de actualización para el acceso a largo plazo a la API de Drive. Un token de actualización permite que tu app solicite tokens de acceso nuevos.
Guarda los tokens de actualización en un almacenamiento seguro y a largo plazo, y sigue usándolos mientras sigan siendo válidos.
Para obtener más información, consulta Cómo usar OAuth 2.0 para acceder a las APIs de Google.
Temas relacionados
- Para obtener una descripción general de la autenticación y la autorización en Google Workspace, consulta Información sobre la autenticación y la autorización.
- Para obtener una descripción general de la autenticación y la autorización en Google Cloud, consulta Descripción general de la autenticación.
- Para obtener más información sobre las cuentas de servicio, consulta Cuentas de servicio.
- Para obtener ayuda con la solución de problemas, consulta Cómo resolver errores.