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 configurar y administrar estos parámetros, 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 crea automáticamente o un proyecto estándar que crees tú mismo. En general, los proyectos predeterminados son adecuados para los scripts simples o de uso diario, pero debes usar un proyecto estándar para cualquier aplicación que sea compleja, de calidad comercial o que pretendas publicar.

Puedes cambiar de un proyecto predeterminado a un proyecto estándar en cualquier momento, pero no puedes volver a usar un proyecto predeterminado. Es mejor seleccionar el proyecto de Cloud que usa tu secuencia de comandos al principio del desarrollo. Cambiar más adelante puede causar complicaciones, como requerir que los usuarios vuelvan a autorizar.

Proyectos de Cloud predeterminados

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

  • En la mayoría de las secuencias de comandos, nunca es necesario 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, Apps Script activará el servicio avanzado en el proyecto de Cloud predeterminado cuando guardes el proyecto de secuencia de comandos.
  • En el caso de algunos lenguajes de secuencias de comandos, debes interactuar con la consola de Google Cloud. En estos casos, tu secuencia de comandos debe usar un proyecto de Cloud estándar. 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.

De forma 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 propietaria del proyecto predeterminado. La cuenta de servicio de Google es appsdev-apps-dev-script-auth@system.gserviceaccount.com.

Cómo ver o actualizar los proyectos de Cloud predeterminados

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

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

Borra los proyectos de Cloud predeterminados

Si eres administrador, puedes borrar proyectos de Cloud predeterminados de la misma manera que borrarías proyectos de Cloud estándar. Consulta Cómo ver o editar proyectos predeterminados de Cloud.

Si no eres administrador, no puedes borrar manualmente los proyectos predeterminados. Sin embargo, si borras el proyecto de secuencia de comandos o lo cambias para que use 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.

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 necesites configurar el proyecto de forma manual. En estas situaciones, debes cambiar tu proyecto de secuencia de comandos para que use un proyecto estándar.

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

Cuándo Apps Script requiere proyectos estándar de Cloud

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

Propiedades estándar del proyecto de Cloud

Los proyectos estándar tienen las siguientes propiedades:

  • Puedes acceder a todos los parámetros de configuración de Google Cloud para el proyecto directamente desde la consola de Google Cloud. Esto te permite activar 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 permanece y se puede reutilizar.
  • 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 planeas publicar un proyecto de secuencia de comandos en Google Workspace Marketplace como un complemento, 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 solicita a un usuario que autorice una secuencia de comandos que usa un proyecto estándar, se usa el nombre del proyecto de Cloud para identificar la secuencia de comandos (no el nombre del proyecto de la secuencia de comandos). Por este motivo, asegúrate de establecer un nombre de proyecto de Cloud adecuado.

Accede a un proyecto de Cloud estándar

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

  1. Abre el proyecto de 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 de Cloud estándar

A menudo, una aplicación de Apps Script necesita acceder 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 deseas 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 para este proyecto de Cloud.

Es posible que se te solicite que aceptes las Condiciones del Servicio de las APIs de Google o de Google Cloud. Revisa atentamente las Condiciones del Servicio antes de aceptarlas.

Según la aplicación, es posible que también debas configurar la API seleccionándola en el panel de APIs y servicios.

Determina el ID y el número de un proyecto de Cloud estándar

Todos los proyectos de Cloud tienen un nombre, un ID y un número. 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. Consulta el Nombre del proyecto, el ID del proyecto y el Número del proyecto en el panel Configuración resultante. El número de proyecto solo contiene dígitos, mientras que el ID del proyecto es alfanumérico. Puedes editar el Nombre del proyecto, que se muestra a los usuarios durante las indicaciones de autorización.

Visualiza los registros y los informes de errores de Google Cloud en la consola de Google Cloud

Si usas el registro de Google Cloud o los informes de errores para tu proyecto de secuencia de comandos, puedes ver esos registros e informes en la consola de Google Cloud siguiendo estos pasos:

  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 tu proyecto de secuencia de comandos aún no registró ninguna excepción.

Cuando se usan 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 establecer 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, por lo que 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 tu 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. En algunas aplicaciones, debes crear credenciales de OAuth adicionales (IDs de cliente y secretos de cliente). Solo puedes hacerlo con proyectos estándar.

Para 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 estándar de Cloud

Puedes agregar propietarios adicionales o 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.

Para agregar propietarios adicionales o cualquier otro rol a un proyecto estándar, haz lo siguiente. Debes tener permisos de edición para el proyecto si deseas realizar cualquiera de los siguientes cambios:

  1. Determina quiénes deberían ser tus colaboradores. Te recomendamos que crees un grupo de Google existente o que uses uno. También puedes especificar dominios en la lista de colaboradores para incluir a 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 roles al proyecto de Cloud. Puedes agregar correos electrónicos individuales, Grupos de Google o dominios como miembros nuevos.
  6. Haz clic en Guardar.

Agrupa varios secuencias de comandos con un solo proyecto de Cloud

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

Usa otro proyecto de Cloud estándar

Puedes cambiar un proyecto de secuencia de comandos para que use un proyecto de Cloud estándar 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 Proyectos estándar de Cloud.

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

Si cambias tu secuencia de comandos de un proyecto predeterminado a otro proyecto estándar, o viceversa, se producirán los siguientes efectos:

  • Si activaste servicios avanzados para tu secuencia de comandos, debes activar las APIs correspondientes en el nuevo proyecto de Cloud. Perderás todos los datos vinculados a los servicios avanzados del 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 estándar de Cloud, activa la API de Drive:

    Activa la API de Drive

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

Cambiar a otro proyecto de Cloud estándar

Para cambiar un 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 para crear un proyecto. Establece un nombre de proyecto memorable para que puedas ubicarlo 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 deseas usar un proyecto existente, abre la página Administrar recursos de la consola de Google Cloud y busca un proyecto existente para usar. Debes tener los roles de Project Browser y OAuth Config Editor, o roles con permisos equivalentes, para el proyecto. No puedes usar un proyecto que se haya creado automáticamente con Apps Script.
  3. Determina el número del proyecto de tu proyecto de Cloud.
  4. Abre la secuencia de comandos cuyo proyecto de Cloud deseas reemplazar.
  5. A la izquierda, haz clic en Configuración del proyecto .
  6. En Proyecto de Google Cloud, haz clic en Cambiar proyecto.
  7. Ingresa el nuevo número de proyecto y haz clic en Establecer el proyecto.

Proyectos de Cloud y unidades compartidas

Las unidades compartidas (antes llamadas unidades de equipo) proporcionan espacios compartidos en los que los grupos de usuarios de Drive pueden colaborar en proyectos de Apps Script y documentos de Drive. Las unidades compartidas son valiosas cuando desarrollas secuencias de comandos, complementos y apps web con un equipo, pero imponen algunas restricciones sobre lo que puedes hacer con los proyectos predeterminados de Cloud más antiguos.

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

  • Si tu proyecto de secuencias de comandos usa un proyecto estándar, no hay restricciones adicionales cuando el proyecto de secuencias de comandos reside en una unidad compartida.
  • Si tu proyecto de secuencia de comandos usa un proyecto predeterminado que se creó el 8 de abril de 2019 o después de esa fecha, no hay restricciones adicionales cuando el proyecto de secuencia de comandos reside en una unidad compartida.
  • Si tu 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 resida en una unidad compartida:
    1. No puedes acceder al proyecto predeterminado con la IU de Apps Script ni con 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 mueves 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 de la transferencia. Por ejemplo, si creaste una secuencia de comandos en tu carpeta de 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 en la unidad compartida no puedan hacerlo.
    4. Una secuencia de comandos conserva el nombre del proyecto de Cloud que tenía antes de trasladarse a una unidad compartida. Incluso si cambias el nombre del proyecto en la unidad compartida, los usuarios que autoricen la secuencia de comandos seguirán viendo el nombre anterior en los diálogos de autorización.

Para evitar las restricciones anteriores en los secuencias de comandos más antiguos, cambia a un proyecto estándar.

Obtén una lista de proyectos de Cloud de Apps Script

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 Cloud de Apps Script 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 Filter > Parent ID y pega el ID de la carpeta de Apps Script.

Borra proyectos de Cloud de Apps Script

Para borrar un proyecto de Cloud de Apps Script, sigue los pasos que se indican en Cómo obtener una lista de proyectos de Cloud de Apps Script, 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 Cerrar proyectos (borrarlos).