Elige los permisos de la API de Google Drive

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
https://www.googleapis.com/auth/drive.appfolder
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:

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:

  1. 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.

  2. 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.

  3. 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.file funciona 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.file no 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.