Este documento contiene información específica sobre la autorización y la autenticación de la API de Google Drive. Antes de leer este documento, asegúrate de leer la información general sobre la autenticación y la autorización de Google Workspace en Más información sobre la autenticación y la autorización.
Configura OAuth 2.0 para la autorización
Configura la pantalla de consentimiento de OAuth y elige 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.
Permisos de la API de Drive
Para definir el nivel de acceso que se otorga a tu app, debes identificar y declarar los alcances de autorización. Un alcance 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 las Cuentas de Google de los usuarios.
Cuando se instala tu app, se le pide al usuario que valide los alcances que usa la app. Por lo general, debes elegir el alcance más específico posible y evitar solicitar alcances que tu app no necesite. Los usuarios otorgan acceso más fácilmente a los permisos limitados y claramente descritos.
Cuando sea posible, te recomendamos que uses permisos no sensibles, ya que otorgan acceso por archivo y limitan el acceso a las funciones específicas que necesita una app.
La API de Drive admite los siguientes alcances:
Código de alcance | Descripción | Uso |
---|---|---|
https://www.googleapis.com/auth/drive.appdata |
Permite ver y administrar los datos de configuración propios de la app en tu unidad de Google Drive. | Recomendado No sensible |
https://www.googleapis.com/auth/drive.install |
Permitir que las apps aparezcan como opción en el menú "Abrir con" o "Nuevo" | Recomendado No sensible |
https://www.googleapis.com/auth/drive.file |
Crear archivos nuevos de Drive o modificar los existentes que abras con una app o que el usuario comparta con una app mientras usa la API de Google Picker o el selector de archivos de la app | Recomendado No sensible |
https://www.googleapis.com/auth/drive.apps.readonly |
Consulta las apps autorizadas para acceder a tu Drive. | Sensible |
https://www.googleapis.com/auth/drive |
Consulta y administra todos tus archivos de Drive. | Restringido |
https://www.googleapis.com/auth/drive.readonly |
Ver y descargar todos tus archivos de Drive | Restringido |
https://www.googleapis.com/auth/drive.activity |
Ver y agregar contenido en el registro de actividad de los archivos de tu unidad de Drive | Restringido |
https://www.googleapis.com/auth/drive.activity.readonly |
Ver el registro de actividad de los archivos de tu unidad de Drive | Restringido |
https://www.googleapis.com/auth/drive.meet.readonly |
Ver los archivos de Drive que creó o editó Google Meet | Restringido |
https://www.googleapis.com/auth/drive.metadata |
Permite ver y administrar los metadatos de los archivos en tu Drive. | Restringido |
https://www.googleapis.com/auth/drive.metadata.readonly |
Permite ver los metadatos de los archivos de tu unidad de Drive. | Restringido |
https://www.googleapis.com/auth/drive.scripts |
Modifica el comportamiento de las secuencias de comandos de Google Apps Script. | Restringido |
La columna Uso de la tabla anterior indica la sensibilidad de cada alcance, según las siguientes definiciones:
Recomendados o no sensibles: Estos permisos proporcionan el menor alcance de acceso de autorización y solo requieren la verificación básica de la app. Para obtener información sobre este requisito, consulta Requisitos de verificación.
Recomendados / sensibles: Estos permisos proporcionan acceso a datos específicos de los usuarios de Google que el usuario autoriza para tu app. Requieren que pases por una verificación adicional de la app. Para obtener información sobre este requisito, consulta Requisitos de alcance sensible y restringido.
Restringidos: Estos permisos proporcionan un amplio acceso a los datos del usuario de Google y requieren que pases por un proceso de verificación de permisos restringidos. Para obtener información sobre este requisito, consulta la Política de Datos del Usuario de los Servicios de las APIs de Google y los Requisitos Adicionales para Permisos Específicos de la API. Si almacenas datos con alcance restringido 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. Si deseas obtener más información sobre los permisos de las APIs de Google, consulta Usa OAuth 2.0 para acceder a las APIs de Google.
Si deseas obtener más información sobre permisos específicos de OAuth 2.0, consulta Permisos de OAuth 2.0 para las APIs de Google.
Dónde declarar los permisos
La API de Drive requiere permisos tanto en la consola de Google Cloud como cuando inicias la API en tu código.
En la consola de Google Cloud, debes declarar los alcances que necesita tu app en la configuración de la pantalla de consentimiento de OAuth. Estos son los permisos de nivel más alto que tu aplicación puede solicitar. Esto funciona como una solicitud formal a Google, y los permisos declarados son los 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. Para obtener más información, consulta Cómo configurar la pantalla de consentimiento de OAuth y elegir permisos.
En tu código, cuando inicialices la API, debes solicitar de forma explícita los alcances 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.
Evalúa todos los alcances de la API de Drive y solo solicita los más específicos que requieren las funciones de tu app. Es más probable que los usuarios otorguen acceso a permisos limitados y claramente descritos.
Cómo declarar permisos en tu código
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'
];
Verificación de OAuth
El uso de ciertos permisos de OAuth puede requerir que tu app pase por el Centro de ayuda para la verificación de apps de OAuth. Lee las preguntas frecuentes sobre las apps con OAuth para determinar cuándo tu app debe someterse a la verificación y qué tipo de verificación se requiere. Consulta también las Condiciones del Servicio de Google Drive.
Cuándo usar un alcance restringido
En el caso de Drive, solo los siguientes tipos de aplicaciones pueden acceder a los permisos restringidos:
- Aplicaciones web y específicas de la plataforma que proporcionan sincronización local o copia de seguridad automática de los archivos de Drive de los usuarios
- Aplicaciones educativas y de productividad cuya interfaz de usuario puede implicar la interacción con archivos de Drive (o sus metadatos o permisos) Las aplicaciones de productividad incluyen la administración de tareas, la toma de notas, las comunicaciones de grupos de trabajo y las aplicaciones de colaboración en el aula.
- Aplicaciones de informes y seguridad que proporcionan estadísticas sobre los usuarios o clientes en relación con la forma en que se comparten o se accede a los archivos
Para seguir usando permisos restringidos, debes preparar tu app para la verificación de permisos restringidos.
Migra una app existente desde permisos restringidos
Si desarrollaste una app para Drive con alguno de los permisos restringidos, te recomendamos que la migres para que use un permiso no sensible, ya que este otorga permiso de acceso por archivo y limita el acceso a las funciones específicas que necesita una app. Muchas apps funcionan con acceso por archivo sin necesidad de realizar cambios. Si usas tu propio selector de archivos, te recomendamos que cambies a la API de Google Picker, que admite diferentes permisos por completo.
Beneficios del permiso de OAuth de archivos de Drive
El uso del permiso de OAuth drive.file
y la API de Google Picker optimiza la experiencia del usuario y la seguridad de tu app.
El alcance de OAuth drive.file
permite que los usuarios elijan qué archivos quieren compartir con tu app, lo que les brinda más control y confianza en que el acceso de tu app a sus archivos es limitado y más seguro. En cambio, solicitar acceso amplio a todos los archivos de Drive podría disuadir a los usuarios de interactuar con tu app. A continuación, se indican algunos motivos por los que deberías usar el alcance de drive.file
:
Usabilidad: El permiso
drive.file
funciona con todos los recursos de 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 se usa un filtro en los archivos del Selector de Google.
Además, dado que drive.file
no es sensible, permite un proceso de verificación más optimizado.
Cómo guardar tokens de actualización
Guarda los tokens de actualización en un almacenamiento seguro a largo plazo y sigue usándolos mientras sigan siendo válidos.