Alcances de la autorización

Los usuarios deben autorizar proyectos de secuencias de comandos que accedan a sus datos o actúen 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 qué desea hacer la secuencia de comandos. Por ejemplo, es posible que una secuencia de comandos solicite permiso para leer los mensajes de correo electrónico del usuario o crear eventos en su calendario. El proyecto de la secuencia de comandos define estos permisos individuales como permisos de OAuth.

En la mayoría de las secuencias de comandos, Apps Script detecta automáticamente qué alcances son necesarios para ti. Puedes ver los alcances que una secuencia de comandos usa en cualquier momento. También puedes configurar alcances de forma explícita en tu manifiesto mediante strings de URL. En ocasiones, es necesario configurar permisos de forma explícita para ciertas aplicaciones como complementos, ya que las aplicaciones publicadas siempre deben usar los alcances más estrechos posibles.

Durante el flujo de autorización, Apps Script le presenta al usuario descripciones legibles de los permisos necesarios. Por ejemplo, si tu secuencia de comandos necesita acceso de solo lectura a tus hojas de cálculo, el manifiesto puede tener el alcance https://www.googleapis.com/auth/spreadsheets.readonly. Durante el flujo de autorización, una secuencia de comandos con este alcance le pide al usuario que permita que esta aplicación "ver tus hojas de cálculo de Google".

Algunos permisos incluyen a otros. Por ejemplo, cuando se autoriza, el alcance https://www.googleapis.com/auth/spreadsheets permite el acceso de lectura y escritura a las hojas de cálculo.

Visualiza los alcances

Para ver los alcances que requiere tu proyecto de secuencia de comandos actualmente, haz lo siguiente:

  1. Abre el proyecto de la secuencia de comandos.
  2. A la izquierda, haz clic en Descripción general .
  3. Consulta los permisos en Permisos de OAuth del proyecto.

Configura permisos explícitos

Apps Script determina automáticamente qué permisos necesita una secuencia de comandos mediante el análisis de su código para detectar llamadas a funciones que los requieren. Para la mayoría de las secuencias de comandos, esto es suficiente y te permite ahorrar 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 alcances.

A veces, Apps Script asigna automáticamente a los proyectos alcances muy permisivos. Esto puede significar que tu secuencia de comandos le solicita al usuario más de lo que necesita, lo cual no es una práctica recomendada. Para las secuencias de comandos publicadas, debes reemplazar los alcances amplios por un conjunto más limitado que cubra las necesidades de la secuencia de comandos y nada más.

Para configurar de forma explícita los alcances que usa tu proyecto de secuencia de comandos, edita el archivo de manifiesto. El campo de manifiesto oauthScopes es un array de todos los alcances que usa el proyecto. Para configurar los alcances de tu proyecto, haz lo siguiente:

  1. Abre el proyecto de la secuencia de comandos.
  2. A la izquierda, haz clic en Configuración del proyecto .
  3. Selecciona la casilla de verificación Mostrar el archivo de manifiesto "appsscript.json" en el editor.
  4. A la izquierda, haz clic en Editor .
  5. A la izquierda, haz clic en el archivo appsscript.json.
  6. Ubica el campo de nivel superior etiquetado como oauthScopes. Si no aparece, puedes agregarla.
  7. El campo oauthScopes especifica un array de strings. Para establecer los permisos que usa tu proyecto, reemplaza el contenido de este array con los permisos que deseas que use. Por ejemplo:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. En la parte superior, haz clic en Guardar .

Verificación de OAuth

Algunos permisos de OAuth son sensibles porque permiten el acceso a los datos del usuario de Google. Si el proyecto de secuencia de comandos usa permisos que permiten el acceso a los datos del usuario, el proyecto debe someterse a una verificación del cliente de OAuth antes de que puedas publicarlo públicamente como una aplicación web o un complemento. Si deseas obtener más información, consulta las siguientes guías:

Permisos restringidos

Además de los permisos sensibles, algunos se clasifican como restringidos y están sujetos a reglas adicionales que ayudan a proteger los datos del usuario. Si tienes la intención de publicar una app web o un complemento que usa uno o más permisos restringidos, la app debe cumplir con todas las restricciones especificadas antes de que pueda publicarse.

Revisa la lista completa de permisos restringidos antes de intentar realizar la publicación. Si tu app usa alguno de ellos, debes cumplir con los Requisitos adicionales para permisos específicos de API antes de publicarla.