Proyectos de Google Cloud

Todos los proyectos de Apps Script usan Google Cloud para administrar la autorización, los servicios avanzados y otros detalles. Para establecer y administrar esta configuración, cada proyecto de Apps Script tiene un proyecto de Google Cloud asociado. Tu proyecto de secuencia de comandos puede usar un proyecto predeterminado que Apps Script cree automáticamente, o un proyecto estándar que crees tú mismo. En general, los proyectos predeterminados son útiles para secuencias de comandos cotidianas o simples, pero debes usar un proyecto estándar para cualquier aplicación que sea compleja, de calidad comercial o que desees publicar.

Puedes cambiar de un proyecto predeterminado a uno estándar en cualquier momento, pero no puedes volver a usar un proyecto predeterminado. Es mejor seleccionar el proyecto de Cloud que usa la secuencia de comandos al comienzo del desarrollo. El cambio posterior puede causar complicaciones, como requerir que los usuarios vuelvan a autorizarla.

Proyectos de Cloud predeterminados

Cuando creas un proyecto de Apps Script, Apps Script crea un proyecto de Cloud predeterminado que opera en segundo plano.

  • Para la mayoría de las secuencias de comandos, nunca necesitas ver ni ajustar este proyecto predeterminado. Apps Script controla las interacciones necesarias con Google Cloud. Por ejemplo, si activas un servicio avanzado en el editor de Apps Script, este servicio activará el servicio avanzado en el proyecto predeterminado de Cloud cuando guardes el proyecto de secuencia de comandos.
  • Para algunas secuencias de comandos, debes interactuar con la consola de Google Cloud. En estos casos, la secuencia de comandos debe usar un proyecto estándar de Cloud. Por ejemplo, para ver los registros de Google Cloud en la consola de Google Cloud, tu secuencia de comandos debe usar un proyecto estándar.

Según la configuración predeterminada, los proyectos de Cloud tienen una política de Identity and Access Management (IAM) con una entrada, una cuenta de servicio de Google que actúa como propietario del proyecto predeterminado. La cuenta de servicio de Google es appsdev-apps-dev-script-auth@system.gserviceaccount.com.

Visualiza o actualiza los proyectos predeterminados de Cloud

La mayoría de los usuarios no pueden ubicar, ver ni editar los proyectos predeterminados directamente en la consola de Google Cloud. Si eres administrador, consulta Visualiza los proyectos predeterminados de Google Cloud.

Si creaste tu proyecto de secuencia de comandos antes del 8 de abril de 2019, puedes usar un proyecto predeterminado al que puedas acceder en la consola de Google Cloud. Para acceder al proyecto predeterminado, ve a la configuración del proyecto de la secuencia de comandos y haz clic en el número del proyecto.

Borra los proyectos predeterminados de Cloud

Si eres administrador, puedes borrar los proyectos de Cloud predeterminados como lo harías con los proyectos estándar de Cloud. Consulta Borra proyectos de Cloud de Apps Script.

Si no eres administrador, no puedes borrar proyectos predeterminados. Sin embargo, Apps Script borra los proyectos predeterminados en los siguientes casos:

  • Si borras el proyecto de la secuencia de comandos o lo cambias para utilizar un proyecto estándar, Apps Script borrará el proyecto predeterminado adjunto a la secuencia de comandos, junto con cualquier configuración o información que contenga.
  • Si una secuencia de comandos no se ejecuta durante 180 días o más, Apps Script borra su proyecto predeterminado asociado. Si la secuencia de comandos se ejecuta después de que Apps Script borra su proyecto predeterminado, Apps Script creará uno para la secuencia.

Proyectos de Cloud estándar

Los proyectos de Cloud predeterminados son la mejor opción para la mayoría de los proyectos de secuencias de comandos, a menos que debas configurar el proyecto de forma manual. En estos casos, debes cambiar tu proyecto de secuencia de comandos para usar un proyecto estándar.

En las siguientes secciones, se describe cuándo Apps Script requiere un proyecto estándar, las propiedades de esos proyectos y las tareas comunes que se realizan con ellos. Solo puedes realizar las siguientes tareas con proyectos estándar.

Cuando Apps Script requiere proyectos estándar en la nube

Debes usar un proyecto estándar en las siguientes situaciones:

Propiedades estándar de los proyectos de Cloud

Los proyectos estándar tienen las siguientes propiedades:

  • Puedes acceder a toda la configuración de Google Cloud para el proyecto directamente desde Google Cloud Console. Esto te permite activar las APIs, ajustar las credenciales de autorización y configurar otros detalles.
  • Cuando borras un proyecto de secuencia de comandos o lo cambias para usar otro proyecto estándar, el proyecto estándar original se conserva y se puede volver a usar.
  • Cuando activas un servicio avanzado en un proyecto de secuencia de comandos, debes activar manualmente la API correspondiente en el proyecto estándar.
  • Varios proyectos de secuencias de comandos y otras apps pueden compartir el mismo proyecto estándar. Si quieres publicar un proyecto de secuencia de comandos en Google Workspace Marketplace como un complemento, este debe tener su propio proyecto estándar. Las apps publicadas no pueden compartir proyectos de Cloud con otras apps.
  • Si deseas ejecutar funciones en un proyecto de secuencia de comandos desde otra app con el método scripts.run de la API de Apps Script, el proyecto de secuencia de comandos y la aplicación que realiza la llamada deben compartir el mismo proyecto estándar.
  • Cuando Apps Script le pide a un usuario que autorice una secuencia de comandos que utiliza un proyecto estándar, se usa el nombre del proyecto de Cloud para identificar la secuencia de comandos (no el nombre del proyecto). Por este motivo, asegúrate de establecer un nombre de proyecto de Cloud adecuado.

Accede a un proyecto estándar de Cloud

Para acceder al proyecto estándar asociado con tu proyecto de secuencia de comandos, haz lo siguiente:

  1. Abre el proyecto Apps Script.
  2. A la izquierda, haz clic en Configuración del proyecto .
  3. En Proyecto de Google Cloud Platform (GCP), haz clic en el número de proyecto.

También puedes encontrar un proyecto estándar directamente en la página Administrar recursos de la consola de Google Cloud.

Activa una API en un proyecto estándar de Cloud

Con frecuencia, una aplicación Apps Script necesita acceso a otra API de Google. Para ello, debes activar la API en el proyecto de Cloud correspondiente. Para activar una API, haz lo siguiente:

  1. Abre el proyecto de Cloud.
  2. Haz clic en Menú > APIs y servicios.
  3. Haz clic en Habilitar APIs y servicios.
  4. En el cuadro de búsqueda, ingresa la API que desees activar y presiona Intro.
  5. Haz clic en la API en los resultados de la búsqueda y, luego, en Habilitar para activar la API en este proyecto de Cloud.

Es posible que se te solicite aceptar las Condiciones del Servicio de las APIs de Google o Google Cloud. Revisa detenidamente las Condiciones del servicio antes de aceptarlas.

Según la aplicación, es posible que también debas configurar la API. Para ello, selecciónala en el panel APIs y servicios (APIs & Services).

Determina el ID y la cantidad de un proyecto estándar de la nube

Todos los proyectos de Cloud tienen un nombre, un ID y un número de proyecto. En ocasiones, debes tener estos identificadores para configurar servicios o completar otras tareas.

Para determinar el ID y el número de tu proyecto estándar, haz lo siguiente:

  1. Abre el proyecto de Cloud.
  2. En la esquina superior derecha, haz clic en Más > Configuración del proyecto.
  3. Visualiza el Nombre del proyecto, el ID del proyecto y el Número del proyecto en el panel Configuración resultante. El número del proyecto consta solo de dígitos, mientras que el ID del proyecto es alfanumérico. Puedes editar el Nombre del proyecto, que se mostrará a los usuarios durante los mensajes de autorización.

Consulta los registros e informes de errores de Google Cloud en la consola de Google Cloud

Si usas Google Cloud Logging o Error Reporting para el proyecto de secuencia de comandos, puedes ver esos informes y registros en la consola de Google Cloud de la siguiente manera:

  1. Abre el proyecto de Cloud.
  2. Haz clic en el menú .
  3. Desplázate hacia abajo hasta la sección Operaciones y haz clic en Logging > Explorador de registros.
  4. Para ver los informes de errores, desplázate hacia abajo hasta la sección Operaciones y haz clic en Error Reporting. Si se te solicita que configures el informe de errores, significa que el proyecto de secuencia de comandos aún no registró ninguna excepción.

Cuando se utilizan servicios que requieren OAuth, Google les solicita a los usuarios que los autoricen. La configuración de la pantalla de consentimiento de OAuth te permite configurar parte de la información que Google presenta a los usuarios, como el nombre de la aplicación y la URL de las Condiciones del Servicio.

Los proyectos predeterminados de Cloud crean automáticamente una pantalla de consentimiento a partir de los detalles del proyecto de Apps Script. No puedes ajustar esa configuración. Los proyectos de Cloud estándar te permiten personalizar esta información. Para configurar la pantalla de consentimiento de la secuencia de comandos, haz lo siguiente:

  1. Abre el proyecto de Cloud.
  2. Haz clic en Menú > APIs y servicios > Credenciales.
  3. Haz clic en Configurar pantalla de consentimiento.
  4. Completa cada sección del flujo de trabajo de la pantalla de consentimiento.
  5. Para registrar los cambios en cada etapa del flujo de trabajo, haz clic en Guardar y continuar.

Crear credenciales OAuth

Por lo general, Apps Script configura OAuth para los servicios que usa tu secuencia de comandos. Para algunas aplicaciones, debes crear credenciales de OAuth adicionales (IDs de cliente y secretos de cliente). Solo puedes hacerlo con proyectos estándar.

Si deseas crear un ID de cliente y un secreto de cliente para tu proyecto de secuencia de comandos, haz lo siguiente:

  1. Abre el proyecto de Cloud.
  2. Haz clic en Menú > APIs y servicios > Credenciales.
  3. Haz clic en Crear credenciales > ID de cliente de OAuth.
  4. En Tipo de aplicación, selecciona el tipo de aplicación y completa el formulario resultante si es necesario. Cuando termines, haz clic en Crear.
  5. En el cuadro de diálogo que aparece, haz clic en Descargar JSON. Puedes usar este archivo para configurar OAuth.

Agrega propietarios adicionales a un proyecto de Cloud estándar

Puedes agregar propietarios adicionales, o bien otros roles a un proyecto estándar. Si colaboras en un proyecto, esto ayuda a garantizar que alguien de tu equipo siempre tenga acceso a la configuración de Google Cloud del proyecto de secuencia de comandos.

Puedes agregar propietarios adicionales o, también, otras funciones a un proyecto estándar de la siguiente manera. Debes tener permisos de edición para que el proyecto realice cualquiera de estos cambios:

  1. Determina quiénes deberían ser tus colaboradores. Te recomendamos que crees o uses un Grupo de Google existente. También puedes especificar dominios en la lista de colaboradores para incluir todos los usuarios de ese dominio.
  2. Abre el proyecto de Cloud de la secuencia de comandos.
  3. Haz clic en Menú > IAM y administración > IAM.
  4. En la parte superior, haz clic en Agregar.
  5. Sigue las instrucciones en pantalla para agregar uno o más miembros nuevos y sus funciones al proyecto de Cloud. Puedes agregar correos electrónicos individuales, Grupos de Google o dominios como miembros nuevos.
  6. Haz clic en Guardar.

Agrupa varias secuencias de comandos con un solo proyecto de Cloud

Puedes tener varios proyectos de Apps Script que compartan el mismo proyecto estándar de Cloud. Para ello, crea un proyecto estándar y, luego, cambia cada proyecto de secuencia de comandos para usarlo. No puedes hacerlo con los proyectos predeterminados.

Usa un proyecto estándar de Cloud diferente

Puedes cambiar un proyecto de secuencia de comandos para que use un proyecto estándar de Cloud diferente. Si tu secuencia de comandos requiere la configuración manual del proyecto de Cloud, debes cambiar de un proyecto predeterminado a un proyecto estándar. Para obtener más información sobre cuándo debes usar un proyecto estándar, consulta los proyectos estándar de Cloud.

Efectos de cambiar a un proyecto de Cloud estándar diferente

Si cambias la secuencia de comandos de un proyecto predeterminado o a uno estándar diferente, ocurrirá lo siguiente:

  • Si activaste los servicios avanzados para la secuencia de comandos, debes activar las APIs correspondientes en el proyecto de Cloud nuevo. Pierdes todos los datos vinculados a los servicios avanzados en el proyecto de Cloud anterior. Para obtener información sobre cómo activar las APIs en tu proyecto de Cloud, consulta Habilita las APIs de Google Workspace.
  • Si tu secuencia de comandos usa el servicio integrado de Google Drive, debes activar la API de Drive en los proyectos estándar de Cloud.

    En tu proyecto de Cloud estándar, activa la API de Drive:

    Activar la API de Drive

  • Todos los usuarios que autorizaron previamente la secuencia de comandos deben volver a autorizarla. En la mayoría de los casos, todos los usuarios que autorizaron previamente apps asociadas con el proyecto nuevo también deberán volver a autorizarlas.
  • Si tu secuencia de comandos está asociada con una ficha de la app en Google Workspace Marketplace, la ficha, los usuarios y las opiniones de tu app no se transferirán al proyecto nuevo. Debes crear una ficha de la app dentro del proyecto nuevo y tus usuarios deberán volver a instalarla. Para obtener información sobre cómo crear una nueva ficha de la app, consulta Cómo publicar una app.
  • Una secuencia de comandos no puede volver a un proyecto predeterminado. Apps Script borra los proyectos predeterminados después de que configuras la secuencia de comandos para que use un proyecto estándar.

Cambiar a un proyecto de Cloud estándar diferente

Para cambiar el proyecto de Cloud existente de una secuencia de comandos a otro proyecto de Cloud, sigue estos pasos:

  1. Si no tienes un proyecto de Cloud adecuado, sigue las instrucciones de Crea un proyecto para crear uno. Establece un nombre de proyecto fácil de recordar para poder encontrarlo en la página Administrar recursos de la consola de Google Cloud. Apps Script usa este nombre cuando les solicita a los usuarios que autoricen la secuencia de comandos.
  2. Si quieres usar un proyecto existente, abre la página Administrar recursos de la consola de Google Cloud y busca el proyecto existente que desees usar. Debes tener los roles de Navegador de proyectos y Editor de configuración de OAuth, o roles con los permisos equivalentes, para el proyecto. No puedes usar un proyecto que Apps Script haya creado automáticamente.
  3. Determina el Número de proyecto de tu proyecto de Cloud.
  4. Abre la secuencia de comandos del proyecto de Cloud que deseas reemplazar.
  5. A la izquierda, haz clic en Configuración del proyecto .
  6. En Proyecto de Google Cloud Platform (GCP), haz clic en Cambiar proyecto.
  7. Ingresa el número de proyecto nuevo y haz clic en Establecer proyecto.

Proyectos de Cloud y unidades compartidas

Las unidades compartidas (anteriormente conocidas como unidades de equipo) proporcionan espacios compartidos en los que grupos de usuarios de Drive pueden colaborar en proyectos de Apps Script y documentos de Drive. Las unidades compartidas son valiosas cuando se desarrollan secuencias de comandos, complementos y aplicaciones web con un equipo, pero imponen algunas restricciones sobre lo que puedes hacer con los proyectos predeterminados de Cloud anteriores.

En la siguiente lista de restricciones, se describe cómo interactúan los proyectos de Cloud con las unidades compartidas:

  • Si el proyecto de secuencia de comandos utiliza un proyecto estándar, no hay restricciones adicionales cuando el proyecto se encuentra en una unidad compartida.
  • Si el proyecto de secuencia de comandos usa un proyecto predeterminado que se creó a partir del 8 de abril de 2019, no hay restricciones adicionales cuando el proyecto se encuentra en una unidad compartida.
  • Si el proyecto de secuencia de comandos usa un proyecto predeterminado que se creó antes del 8 de abril de 2019, se aplican las siguientes restricciones mientras el proyecto de secuencia de comandos se encuentre en una unidad compartida:
    1. No puedes acceder al proyecto predeterminado con la IU de Apps Script o la consola de Google Cloud. Esta restricción te impide realizar acciones que requieren acceso directo al proyecto.
    2. No puedes activar los servicios avanzados. Para activar los servicios avanzados, cambia a un proyecto estándar.
    3. Cuando trasladas un proyecto de Apps Script existente a una unidad compartida, Google restringe el acceso al proyecto de Cloud predeterminado. Aún puedes acceder al proyecto predeterminado si tenías acceso antes del traslado. Por ejemplo, si creaste una secuencia de comandos en la carpeta Mi unidad y, luego, la moviste a una unidad compartida, aún podrías acceder al proyecto de Cloud de la secuencia de comandos. Es posible que tus colaboradores de la unidad compartida no puedan hacerlo.
    4. Una secuencia de comandos conserva el nombre del proyecto de Cloud que tenía antes de moverse a una unidad compartida. Incluso si cambias el nombre del proyecto en la unidad compartida, los usuarios que autorizan la secuencia de comandos seguirán viendo el nombre anterior en los diálogos de autorización.

A fin de evitar las restricciones anteriores para las secuencias de comandos más antiguas, cambia a un proyecto estándar.

Obtén una lista de proyectos de Apps Script Cloud

Si tienes el permiso resourcemanager.projects.list para la carpeta del proyecto de Apps Script de tu organización, puedes ver todos los proyectos de Apps Script Cloud estándar y predeterminados dentro de la carpeta.

  1. Abre la página Administrar recursos de la consola de Google Cloud.
  2. Junto a la carpeta Apps Script, copia el ID.
  3. Haz clic en Filtrar > ID superior y pega el ID de la carpeta de Apps Script.

Borrar proyectos de Apps Script Cloud

Para borrar un proyecto de Apps Script Cloud, sigue los pasos que se indican en Obtén una lista de los proyectos de Apps Script Cloud, selecciona el proyecto que deseas borrar y haz clic en Borrar.

Para borrar un proyecto de Apps Script con gcloud, usa los siguientes comandos.

gcloud projects list --filter='parent.id=APPS_SCRIPT_FOLDER_ID'
gcloud projects delete PROJECT_ID

Para obtener más información sobre cómo borrar proyectos de Cloud, consulta Cierra (borra) proyectos.