Los usuarios deben autorizar los proyectos de secuencia de comandos que acceden a sus datos o actúan en su nombre. Cuando un usuario ejecuta una secuencia de comandos que requiere autorización por primera vez, la IU presenta un mensaje para iniciar el flujo de autorización.
Durante este flujo, la IU le indica al usuario lo que la secuencia de comandos quiere hacer con el permiso. Por ejemplo, una secuencia de comandos puede solicitar permiso para leer los mensajes de correo electrónico del usuario o crear eventos en su calendario. El proyecto de secuencia de comandos define estos permisos individuales como alcances de OAuth.
En la mayoría de las secuencias de comandos, Apps Script detecta automáticamente los permisos que necesitas. Puedes ver los permisos que usa una secuencia de comandos en cualquier momento. También puedes configurar los alcances de forma explícita en tu manifiesto con cadenas de URL. A veces, es necesario configurar los permisos de forma explícita para ciertas aplicaciones, como los complementos, ya que las aplicaciones publicadas siempre deben usar los permisos más limitados posibles.
Durante el flujo de autorización, Apps Script le presenta al usuario descripciones legibles por humanos de los permisos requeridos. Por ejemplo, si tu secuencia de comandos necesita acceso de solo lectura a tus hojas de cálculo, es posible que el manifiesto tenga el permiso https://www.googleapis.com/auth/spreadsheets.readonly
. Durante el flujo de autorización, una secuencia de comandos con este permiso le solicita al usuario que permita que esta aplicación "Vea tus Hojas de cálculo de Google".
Algunos permisos incluyen otros. Por ejemplo, cuando se autoriza, el permiso https://www.googleapis.com/auth/spreadsheets
permite el acceso de lectura y escritura a las hojas de cálculo.
Cómo ver los permisos
Para ver los alcances que requiere actualmente tu proyecto de secuencia de comandos, haz lo siguiente:
- Abre el proyecto de secuencia de comandos.
- A la izquierda, haz clic en Descripción general .
- Consulta los permisos en Project OAuth Scopes.
Cómo configurar permisos explícitos
Apps Script determina automáticamente qué alcances necesita una secuencia de comandos analizando su código en busca de llamadas a funciones que los requieran. Para la mayoría de las secuencias de comandos, esto es suficiente y te ahorra tiempo, pero para los complementos publicados, las apps web, las apps de Google Chat y las llamadas a la API de Google Chat, debes ejercer un control más directo de los permisos.
A veces, Apps Script asigna automáticamente a los proyectos permisos muy permisivos. Esto puede significar que tu secuencia de comandos le pide al usuario más de lo que necesita, lo que es una práctica inadecuada. En el caso de las secuencias de comandos publicadas, debes reemplazar los permisos amplios por un conjunto más limitado que cubra las necesidades de la secuencia de comandos y nada más.
Puedes establecer de forma explícita los alcances que usa tu proyecto de secuencia de comandos editando
su archivo de manifiesto. El campo del manifiesto oauthScopes
es un array de todos los alcances que usa el proyecto. Para establecer los permisos de tu proyecto, haz lo siguiente:
- Abre el proyecto de secuencia de comandos.
- A la izquierda, haz clic en Configuración del proyecto .
- Selecciona la casilla de verificación Mostrar el archivo de manifiesto "appsscript.json" en el editor.
- A la izquierda, haz clic en Editor .
- A la izquierda, haz clic en el archivo
appsscript.json
. - Busca el campo de nivel superior etiquetado como
oauthScopes
. Si no está presente, puedes agregarlo. - El campo
oauthScopes
especifica un array de cadenas. Para establecer los permisos que usa tu proyecto, reemplaza el contenido de este array por los permisos que deseas que use. Por ejemplo:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- En la parte superior, haz clic en Guardar .
Verificación de OAuth
Ciertos permisos de OAuth son sensibles porque permiten el acceso a los datos del usuario de Google. Si tu proyecto de secuencia de comandos usa permisos que permiten el acceso a los datos del usuario, el proyecto debe pasar por la verificación del cliente de OAuth antes de que puedas publicarlo públicamente como una app web o un complemento. Si deseas obtener más información, consulta las siguientes guías:
- Verificación de cliente de OAuth para Apps Script
- Apps no verificadas
- Preguntas frecuentes sobre la verificación de OAuth
- Política de Datos del Usuario del Servicio de las APIs de Google
Permisos restringidos
Además de los permisos sensibles, algunos permisos se clasifican como restringidos y están sujetos a reglas adicionales que ayudan a proteger los datos del usuario. Si deseas publicar una app web o un complemento que use uno o más permisos restringidos, la app debe cumplir con todas las restricciones especificadas antes de que se pueda publicar.
Revisa la lista completa de alcances restringidos antes de intentar publicar. Si tu app usa alguna de ellas, debes cumplir con los requisitos adicionales para permisos específicos de API antes de publicarla.