Projetos do Google Cloud

Cada projeto do Apps Script usa o Google Cloud para gerenciar autorização, 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. O projeto de script pode usar um projeto padrão criado automaticamente pelo Apps Script ou um projeto padrão que você mesmo cria. Em geral, os projetos padrão são bons para scripts simples ou cotidianos, mas você deve usar um projeto padrão para qualquer aplicativo que seja complexo, comercial ou destinado à publicação.

É possível migrar de um projeto padrão para um projeto padrão a qualquer momento, mas não é possível voltar para usar um projeto padrão. É melhor selecionar o projeto do Google Cloud que seu script usa no início do desenvolvimento. A troca posterior pode causar complicações, como exigir que os usuários autorizem novamente.

Projetos padrão do Google Cloud

Quando você cria um projeto do Apps Script, ele cria um projeto padrão do Google Cloud que opera em segundo plano.

  • Para a maioria dos scripts, você nunca precisa ver ou ajustar este projeto padrão. O Apps Script processa 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 Google 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 Google Cloud. Por exemplo, para ver os registros do Google Cloud no Console do Google Cloud, o script precisa usar um projeto padrão.

Ver ou atualizar projetos padrão do Google Cloud

A maioria dos usuários não consegue localizar, ver ou editar projetos padrão diretamente no Console do Google Cloud. Os administradores e os usuários do domínio que têm a permissão resourcemanager.projects.list na pasta pai do Google Cloud podem visualizar e configurar projetos padrão.

  • Para clientes do Google Workspace, os projetos padrão se enquadram na pasta Organization root > system-gsuite > apps-script na hierarquia do Cloud Resource. Não exclua essas pastas. Se você fizer isso, os scripts não poderão criar projetos padrão e não serão executados corretamente.
  • Para clientes que não são do Google Workspace, os projetos padrão não têm filhos na hierarquia de recursos.

Excluir projetos padrão do Google Cloud

Se você for um administrador, poderá excluir projetos padrão do Google Cloud da mesma maneira que faria com projetos padrão do Google Cloud. Consulte Excluir projetos do Google Cloud no Apps Script.

Se você não for um administrador, não poderá excluir os projetos padrão. No entanto, o Apps Script exclui projetos padrão nos seguintes cenários:

  • Se você excluir o projeto do script ou alternar para usar um projeto padrão, o Apps Script excluirá o projeto padrão anexado ao script com as configurações ou informações que ele contém.
  • Se um script não for executado por 180 dias ou mais, o Apps Script excluirá o projeto padrão associado. 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 Google Cloud

Os projetos padrão do Google 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, é necessário mudar o 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 tarefas comuns realizadas com eles. Só é possível executar as tarefas abaixo com projetos padrão.

Quando o Apps Script exige projetos padrão do Google Cloud

Use um projeto padrão nas seguintes situações:

Propriedades de projeto padrão do Google Cloud

Os projetos padrão têm as seguintes propriedades:

  • É possível acessar todas as configurações do Google Cloud no projeto diretamente no Console do Google Cloud. Isso permite 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.
  • Ao ativar um serviço avançado em um projeto de script, é preciso 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 Google 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 pede a um usuário para autorizar um script que usa um projeto padrão, o nome do projeto do Google Cloud é usado para identificar o script (não o nome do projeto do script). Por isso, defina um nome para o projeto do Google Cloud apropriado.

Acessar um projeto padrão do Google Cloud

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

Novo editor

  1. Abra o projeto do Apps Script.
  2. À esquerda, clique em Project Settings .
  3. Em Google Cloud Platform (GCP) Project, clique no número do projeto.

Editor legado

  1. Abra o script no editor do Apps Script.
  2. Selecione Resources > Cloud Platform project.
  3. Na caixa de diálogo aberta, clique no link superior que faz referência ao nome do projeto do GCP.

Você também pode encontrar um projeto padrão diretamente na página Gerenciar recursos do console do Google Cloud.

Ativar uma API em um projeto padrão do Google Cloud

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

  1. Abra o projeto do Google Cloud.
  2. Clique no menu > APIs e serviços.
  3. Clique em Ativar APIs e serviços.
  4. Na caixa de pesquisa, insira a API que você quer ativar e pressione Enter.
  5. Clique na API nos resultados da pesquisa e em Ativar para ativá-la neste projeto do Google Cloud.

Talvez seja necessário aceitar os Termos de Serviço para APIs do Google ou 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 & Services.

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

Todos os projetos do Google Cloud têm um nome, um ID e um número de projeto. Às vezes, é preciso ter esses identificadores para configurar serviços ou concluir outras tarefas.

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

  1. Abra o projeto do Google Cloud.
  2. No canto superior direito, clique em Mais > Configurações do projeto.
  3. Veja o Nome do projeto, o ID do projeto e o Número do projeto no painel Configurações resultante. O Número do projeto é composto apenas por dígitos, e o ID do projeto é alfanumérico. Você pode editar o Nome do projeto, que é exibido aos usuários durante as solicitações de autorização.

Ver registros do Google Cloud e relatórios de erros no Console do Google Cloud

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

  1. Abra o projeto do Google Cloud.
  2. Clique no menu .
  3. Role para baixo até a seção Operações e clique em Explorador de registros > do Logging.
  4. Para ver relatórios de erros, role a tela para baixo até a seção Operações e clique em Error Reporting. Se for solicitado que você configure o relatório de erros, isso significa que seu 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 Google Cloud criam automaticamente uma tela de consentimento nos detalhes do projeto do Apps Script. Não é possível ajustar essas configurações. Os projetos padrão do Google Cloud permitem personalizar essas informações. Para configurar a tela de consentimento do seu script, faça o seguinte:

  1. Abra o projeto do Google Cloud.
  2. Clique no menu > APIs e serviços > Credenciais.
  3. Clique em Configurar tela de consentimento.
  4. Preencha cada seção do fluxo da tela de consentimento.
  5. Para registrar as mudanças em cada etapa do fluxo de trabalho, clique em Salvar e continuar.

Crie credenciais do OAuth.

O Apps Script geralmente configura o OAuth para os serviços que seu script usa. Para alguns aplicativos, é necessário criar outras credenciais do OAuth (IDs e chaves secretas do cliente). Isso só pode ser feito 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 Google Cloud.
  2. Clique no menu > APIs e serviços > Credenciais.
  3. Clique em Criar credenciais > ID do cliente OAuth.
  4. Em Tipo de aplicativo, selecione o tipo de aplicativo 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 Google Cloud

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

Para adicionar outros proprietários ou outros papéis a um projeto padrão, faça o seguinte. É preciso ter permissões de edição para o projeto para fazer qualquer uma destas mudanças:

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

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

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

Alternar para um projeto padrão diferente do Google Cloud

É possível alternar um projeto de script para que ele use um projeto padrão do Google Cloud diferente. Será necessário mudar para um projeto padrão se o script exige a configuração manual do projeto do Google Cloud. Para saber mais sobre quando é necessário usar um projeto padrão, consulte Projetos padrão do Google Cloud.

Para trocar o projeto de um script do Google Cloud para outro de projeto, siga estas etapas:

Novo editor

  1. Se você não tiver um projeto adequado do Google Cloud, crie um seguindo as instruções em Criar um projeto. Defina um nome de projeto memorável para localizá-lo na página Gerenciar recursos do console do Google Cloud. O Apps Script usa esse nome ao pedir que os usuários autorizem o script.
  2. Se você quiser usar um projeto atual, abra a página Gerenciar recursos do Console do Google Cloud e localize um projeto existente. É preciso ter permissões resourcemanager.projects.update para o projeto. Não é possível usar um projeto criado automaticamente pelo Apps Script.
  3. Determine o Número do projeto do Google Cloud.
  4. Abra o script cujo projeto do Google Cloud você quer substituir.
  5. À esquerda, clique em Configurações do projeto .
  6. Em Projeto do Google Cloud Platform (GCP), clique em Alterar projeto.
  7. Digite o novo número e clique em Definir projeto.

Editor legado

  1. Se você não tiver um projeto do GCP adequado, crie um novo seguindo as instruções em Criar um projeto. Caso contrário, abra a página Gerenciar recursos do Console do Google Cloud e localize um projeto do GCP para usar. É preciso ter permissões para edição do projeto do GCP e ver as configurações no Console do Google Cloud. O novo projeto não pode ser criado automaticamente pelo Apps Script.
  2. Defina um nome memorável do projeto do GCP para localizá-lo mais facilmente na página Gerenciar recursos do console do Google Cloud. Esse nome também é usado para identificar o script quando o Apps Script solicita que os usuários o autorizem.
  3. Determine o Número do projeto do GCP.
  4. No editor do Apps Script, abra o script que tem o projeto do GCP que você quer substituir.
  5. Clique em Recursos > Projeto do Cloud Platform.
  6. Na seção Alterar projeto, cole o número do projeto que você copiou no campo de texto e clique em Definir projeto.
  7. Uma tela de aviso explica os efeitos da mudança do projeto do Cloud Platform. Leia o aviso com atenção e clique em Confirmar.

Projetos compartilhados do Google Cloud e drives compartilhados

Os drives compartilhados (antigos Drives de equipe) oferecem 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 para desenvolver scripts, complementos e apps da Web com uma equipe, mas aplicam algumas restrições sobre o que é possível fazer com projetos padrão do Google Cloud mais antigos.

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

  • Se o projeto de script usar um projeto padrão, não haverá restrições adicionais quando o projeto de script reside em um drive compartilhado.
  • Se o projeto de script usar um projeto padrão criado em ou após 8 de abril de 2019, não haverá outras restrições quando o projeto de script reside em um drive compartilhado.
  • Caso seu projeto de script use um projeto padrão criado antes de 8 de abril de 2019, as restrições a seguir serão aplicadas enquanto o projeto de script reside 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ê tome ações que exigem acesso direto ao projeto.
    2. Não é possível ativar os serviços avançados. Para ativar serviços avançados, mude para um projeto padrão.
    3. Quando você move um projeto do Apps Script para um drive compartilhado, o Google restringe o acesso ao projeto padrão do Google Cloud. Ainda será possível acessar o projeto padrão se você tiver 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 script do Google Cloud. Talvez seus colaboradores no drive compartilhado não consigam fazer isso.
    4. Um script mantém o nome do projeto do Google 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 autorizam 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.

Receber uma lista de projetos do Google Cloud no Apps Script

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

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

Excluir projetos do Google Cloud no Apps Script

Para excluir um projeto do Google Cloud no Apps Script, siga as etapas em Acessar uma lista de projetos do Google 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 seguintes comandos.

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

Veja mais informações sobre como excluir projetos do Google Cloud em Como encerrar (excluir) projetos.