Projetos do Google Cloud

Todos os projetos do Apps Script usam o Google Cloud para gerenciar autorizações, serviços avançados e outros detalhes. Para definir e gerenciar essas configurações, cada projeto do Apps Script tem um projeto do Google Cloud associado. Seu projeto de script pode usar um projeto padrão que o Apps Script cria automaticamente ou um projeto padrão criado por você. Em geral, projetos padrão são bons para scripts cotidianos ou simples, mas você precisa usar um projeto padrão para qualquer aplicativo complexo, de qualidade comercial ou que você pretende publicar.

É possível alternar de um projeto padrão para um projeto padrão a qualquer momento, mas não é possível voltar a usar um projeto padrão. É melhor selecionar o projeto do Cloud que seu script usa no início do desenvolvimento. A troca posterior pode causar complicações, como a exigência de uma nova autorização dos usuários.

Projetos padrão do Cloud

Ao criar um projeto do Apps Script, ele cria um projeto padrão do Cloud que opera em segundo plano.

  • Na maioria dos scripts, nunca é necessário ver ou ajustar esse projeto padrão. O Apps Script lida com as interações necessárias com o Google Cloud. Por exemplo, se você ativar um serviço avançado no editor do Apps Script, ele será ativado no projeto padrão do Cloud quando você salvar o projeto de script.
  • Para alguns scripts, você precisa interagir com o console do Google Cloud. Nesses casos, seu script precisa usar um projeto padrão do Cloud. Por exemplo, para visualizar os registros do Google Cloud no console do Google Cloud, seu script precisa usar um projeto padrão.

Por padrão, os projetos do Cloud têm uma política de gerenciamento de identidade e acesso (IAM) com uma entrada, uma conta de serviço do Google que atua como proprietária do projeto padrão. A conta de serviço do Google é appsdev-apps-dev-script-auth@system.gserviceaccount.com.

Acessar ou atualizar projetos padrão do Cloud

A maioria dos usuários não consegue localizar, visualizar ou editar projetos padrão diretamente no console do Google Cloud. Se você for um administrador, consulte Ver projetos padrão do Google Cloud.

Se você criou seu projeto de script antes de 8 de abril de 2019, use um projeto padrão que pode ser acessado no console do Google Cloud. Para acessar o projeto padrão, vá até as configurações do projeto de script e clique no número do projeto.

Excluir projetos padrão do Cloud

Se você for um administrador, poderá excluir os projetos padrão do Cloud como faria com os projetos padrão do Cloud. Consulte Excluir projetos do Cloud que usam o Apps Script.

Se você não for administrador, não será possível excluir projetos padrão. No entanto, o Apps Script exclui projetos padrão nos seguintes cenários:

  • Se você excluir o projeto de script ou alterá-lo para usar um projeto padrão, o Apps Script excluirá o projeto padrão anexado ao script junto com quaisquer configurações ou informações que ele contenha.
  • Se um script não for executado por 180 dias ou mais, o projeto padrão associado será excluído pelo Apps Script. Se o script for executado depois que o Apps Script excluir o projeto padrão, ele criará um para o script.

Projetos padrão do Cloud

Os projetos padrão do Cloud são a melhor opção para a maioria dos projetos de script, a menos que você precise configurar o projeto manualmente. Nessas situações, você precisa trocar seu projeto de script para usar um projeto padrão.

As seções a seguir descrevem quando o Apps Script exige um projeto padrão, as propriedades desses projetos e as tarefas comuns que eles executam. Você só pode realizar as tarefas abaixo com projetos padrão.

Quando o Apps Script exige projetos padrão do Cloud

Você precisa usar um projeto padrão nas seguintes situações:

Propriedades padrão de projetos do Cloud

Projetos padrão têm as seguintes propriedades:

  • É possível acessar todas as configurações do Google Cloud para o projeto diretamente no console do Google Cloud. Assim, é possível ativar APIs, ajustar credenciais de autorização e configurar outros detalhes.
  • Quando você exclui um projeto de script ou o troca para usar outro projeto padrão, o projeto padrão original permanece e pode ser reutilizado.
  • Quando você ativa um serviço avançado em um projeto de script, precisa ativar manualmente a API correspondente no projeto padrão.
  • Vários projetos de script e outros apps podem compartilhar o mesmo projeto padrão. Se você pretende publicar um projeto de script no Google Workspace Marketplace como um complemento, ele precisa ter o próprio projeto padrão. Os apps publicados não podem compartilhar projetos do Cloud com outros apps.
  • Se você quiser executar funções em um projeto de script de outro app usando o método scripts.run da API Apps Script, o projeto de script e o aplicativo de chamada precisarão compartilhar o mesmo projeto padrão.
  • Quando o Apps Script solicita que um usuário autorize um script que usa um projeto padrão, o nome do projeto do Cloud é usado para identificar o script, e não o nome do projeto do script. Por isso, defina um nome apropriado para o projeto do Cloud.

Acessar um projeto padrão do Cloud

Para acessar o projeto padrão associado ao projeto de script, faça o seguinte:

  1. Abra o projeto do Apps Script.
  2. À esquerda, clique em Configurações do projeto .
  3. Em Projeto do Google Cloud Platform (GCP), clique no número do projeto.

Também é possível encontrar um projeto padrão diretamente na página Gerenciar recursos no console do Google Cloud.

Ativar uma API em um projeto padrão do Cloud

Muitas vezes, um aplicativo do Apps Script precisa de acesso a outra API do Google. Para fazer isso, ative a API no projeto correspondente do Cloud. Para ativar uma API, faça o seguinte:

  1. Abra o projeto do Cloud.
  2. Clique em Menu > APIs e serviços.
  3. Clique em Ativar APIs e serviços.
  4. Na caixa de pesquisa, digite a API que você quer ativar e pressione Enter.
  5. Clique na API nos resultados da pesquisa e, em seguida, em Ativar para ativar a API para este projeto do Cloud.

Talvez seja necessário aceitar os Termos de Serviço das APIs do Google ou do Google Cloud. Leia os Termos de Serviço com atenção antes de aceitá-los.

Dependendo do aplicativo, talvez seja necessário configurar a API selecionando-a no painel APIs e serviços.

Determinar o ID e o número de um projeto padrão do Cloud

Todos os projetos do Cloud têm um nome, ID e número de projeto. Ocasionalmente, você precisa ter esses identificadores para configurar serviços ou concluir outras tarefas.

Para determinar o ID e o número do projeto padrão, faça o seguinte:

  1. Abra o projeto do Cloud.
  2. No canto superior direito, clique em Mais > Configurações do projeto.
  3. Veja o Nome, o ID e o Número do projeto no painel Configurações resultante. O número do projeto consiste apenas em dígitos, enquanto o ID do projeto é alfanumérico. É possível editar o Nome do projeto que aparece para os usuários durante as solicitações de autorização.

Acessar os registros e relatórios de erros do Google Cloud no console do Google Cloud

Se você estiver usando o Google Cloud Logging ou o Error Reporting no seu projeto de script, será possível visualizar esses registros e relatórios no Console do Google Cloud fazendo o seguinte:

  1. Abra o projeto do Cloud.
  2. Clique no menu .
  3. Role para baixo até a seção Operações e clique em Logging > Análise de registros.
  4. Para visualizar os relatórios de erros, role para baixo até a seção Operações e clique em Error Reporting. Se você for solicitado a configurar o Error Reporting, isso significa que o projeto de script ainda não registrou exceções.

Ao usar serviços que exigem OAuth, o Google solicita que os usuários autorizem esses serviços. As configurações da tela de permissão OAuth permitem definir algumas das informações que o Google apresenta aos usuários, como o nome do aplicativo e o URL dos Termos de Serviço.

Os projetos padrão do Cloud criam uma tela de consentimento automaticamente com base nos detalhes do projeto do Apps Script. Não é possível ajustar essas configurações. Os projetos padrão do Cloud permitem personalizar essas informações. Para configurar a tela de consentimento do script, faça o seguinte:

  1. Abra o projeto do Cloud.
  2. Clique em Menu > APIs e serviços > Credenciais.
  3. Clique em Configurar tela de consentimento.
  4. Preencha cada seção do fluxo de trabalho da tela de consentimento.
  5. Para registrar as alterações em cada estágio do fluxo de trabalho, clique em Salvar e continuar.

Crie credenciais do OAuth.

O Apps Script geralmente configura o OAuth para os serviços usados por ele. Para alguns aplicativos, você precisa criar credenciais adicionais do OAuth (IDs e chaves secretas do cliente). Você só pode fazer isso com projetos padrão.

Para criar um ID e uma chave secreta do cliente para seu projeto de script, faça o seguinte:

  1. Abra o projeto do Cloud.
  2. Clique em Menu > APIs e serviços > Credenciais.
  3. Clique em Criar credenciais > ID do cliente OAuth.
  4. Em Tipo de aplicativo, selecione o tipo e preencha o formulário resultante, se necessário. Quando terminar, clique em Criar.
  5. Na caixa de diálogo exibida, clique em Fazer o download do JSON. É possível usar esse arquivo para configurar o OAuth.

Adicionar outros proprietários a um projeto padrão do Cloud

É possível adicionar outros proprietários ou outros papéis a um projeto padrão. Ao colaborar em um projeto, isso ajuda a garantir que alguém da equipe sempre tenha acesso às configurações do Google Cloud do projeto de script.

Siga as etapas abaixo para adicionar outros proprietários ou outros papéis a um projeto padrão. Você precisa ter permissões de edição no projeto para fazer estas alterações:

  1. Determine quem devem ser seus colaboradores. Recomendamos que você crie ou use um Grupo do Google atual. Também é possível especificar domínios na lista de colaboradores para incluir todos os usuários nesse domínio.
  2. Abra o projeto do Cloud do script.
  3. Clique em Menu > IAM e administrador > IAM.
  4. Na parte de cima, clique em Adicionar.
  5. Siga as instruções na tela para adicionar um ou mais membros novos e os papéis deles ao projeto do Cloud. É possível adicionar e-mails individuais, Grupos do Google ou domínios como novos membros.
  6. Clique em Salvar.

Agrupar vários scripts em um único projeto do Cloud

É possível fazer com que vários projetos do Apps Script compartilhem o mesmo projeto padrão do Cloud. Para fazer isso, crie um projeto padrão e troque em cada projeto de script para usá-lo. Não é possível fazer isso com projetos padrão.

Usar um projeto padrão diferente do Cloud

É possível alternar um projeto de script para que ele use um projeto padrão diferente do Cloud. Se o script exigir a configuração manual do projeto do Cloud, será necessário alternar de um projeto padrão para um padrão. Para saber mais sobre quando você precisa usar um projeto padrão, consulte projetos padrão do Cloud.

Efeitos de mudar para um projeto padrão diferente do Cloud

Se você alternar seu script de um projeto padrão ou para um projeto padrão diferente, isso terá os seguintes efeitos:

  • Se você tiver ativado serviços avançados para o script, ative as APIs correspondentes no novo projeto do Cloud. Você perde todos os dados vinculados aos serviços avançados no projeto anterior do Cloud. Para saber como ativar APIs no projeto do Cloud, consulte Ativar APIs do Google Workspace.
  • Se o script usa o serviço integrado do Google Drive, ative a API Drive em projetos padrão do Cloud.

    No projeto padrão do Cloud, ative a API Drive:

    Ativar a API Drive

  • Todos os usuários que já autorizaram o script precisarão autorizar novamente. Na maioria dos casos, todos os usuários que já autorizaram apps associados ao novo projeto também precisam fazer uma nova autorização.
  • Se o script estiver associado a uma página "Detalhes do app" no Google Workspace Marketplace, as informações, os usuários e as avaliações do app não serão transferidos para o novo projeto. Você precisa criar uma página "Detalhes do app" no novo projeto, e os usuários precisarão reinstalá-lo. Para informações sobre como criar uma nova página "Detalhes do app", consulte Publicar um app.
  • Não é possível voltar um script para um projeto padrão. O Apps Script exclui os projetos padrão depois que você define o script para usar um projeto padrão.

Alternar para um projeto padrão diferente do Cloud

Para alternar um projeto do Cloud de um script para outro projeto do Cloud, siga estas etapas:

  1. Se você não tiver um projeto do Cloud adequado, crie um seguindo as instruções em Criar um projeto. Defina um nome de projeto memorável para que possa localizá-lo na página Gerenciar recursos do console do Google Cloud. O Apps Script usa esse nome quando solicita que os usuários autorizem o script.
  2. Para usar um projeto atual, abra a página Gerenciar recursos no console do Google Cloud e localize um projeto para usar. É necessário ter os papéis Navegador do projeto e Editor de configuração OAuth, ou papéis com as permissões equivalentes, para o projeto. Não é possível usar um projeto criado automaticamente pelo Apps Script.
  3. Determine o número do projeto do seu projeto do Cloud.
  4. Abra o script com o projeto do Cloud que você quer substituir.
  5. À esquerda, clique em Configurações do projeto .
  6. Em Projeto do Google Cloud Platform (GCP), clique em Mudar projeto.
  7. Digite o número do novo projeto e clique em Definir projeto.

Projetos na nuvem e drives compartilhados

Os drives compartilhados (antes chamados de drives da equipe) fornecem espaços compartilhados onde grupos de usuários do Drive podem colaborar em projetos do Apps Script e documentos do Drive. Os drives compartilhados são valiosos ao desenvolver scripts, complementos e apps da Web em equipe, mas impõem algumas restrições sobre o que é possível fazer com projetos padrão mais antigos do Cloud.

A lista de restrições a seguir descreve como os projetos do Cloud interagem com os drives compartilhados:

  • Se o projeto de script usar um projeto padrão, não haverá outras restrições quando o projeto de script estiver em um drive compartilhado.
  • Se o projeto de script usar um projeto padrão criado a partir de 8 de abril de 2019, não haverá outras restrições quando o projeto de script estiver em um drive compartilhado.
  • Se o projeto de script usar um projeto padrão criado antes de 8 de abril de 2019, as seguintes restrições serão aplicadas enquanto o projeto de script estiver em um drive compartilhado:
    1. Não é possível acessar o projeto padrão usando a IU do Apps Script ou o console do Google Cloud. Essa restrição impede que você realize ações que exijam acesso direto ao projeto.
    2. Não é possível ativar os serviços avançados. Para ativar os serviços avançados, mude para um projeto padrão.
    3. Quando você move um projeto existente do Apps Script para um drive compartilhado, o Google restringe o acesso ao projeto padrão do Cloud. Ainda será possível acessar o projeto padrão, se você teve acesso antes da mudança. Por exemplo, se você criou um script na pasta "Meu Drive" e o moveu para um drive compartilhado, ainda poderá acessar o projeto do Cloud do script. Talvez os colaboradores no drive compartilhado não possam fazer isso.
    4. Um script mantém o nome do projeto do Cloud que tinha antes de ser movido para um drive compartilhado. Mesmo que você altere o nome do projeto no drive compartilhado, os usuários que autorizarem o script ainda verão o nome antigo nas caixas de diálogo de autorização.

Para evitar as restrições acima em scripts mais antigos, mude para um projeto padrão.

Acessar uma lista de projetos do Cloud no Apps Script

Se você tiver a permissão resourcemanager.projects.list para a pasta do projeto do Apps Script da sua organização, poderá ver todos os projetos padrão e padrão do Cloud na pasta.

  1. Abra a página Gerenciar recursos no console do Google Cloud.
  2. Ao lado da pasta Apps Script, copie o ID.
  3. Clique em Filtro > ID pai e cole o ID da pasta do Apps Script.

Excluir projetos do Cloud que usam o Apps Script

Para excluir um projeto do Cloud que usa o Apps Script, siga as etapas em Acessar uma lista de projetos do Cloud no Apps Script, selecione o projeto que você quer excluir e clique em Excluir.

Para excluir um projeto do Apps Script usando gcloud, use os comandos a seguir.

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

Para mais informações sobre como excluir projetos do Cloud, consulte Como encerrar (excluir) projetos.