Serviços avançados do Google

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Os serviços avançados no Apps Script permitem que desenvolvedores experientes se conectem a determinadas APIs públicas do Google com menos configuração do que usar as interfaces HTTP. Os serviços avançados são essencialmente wrappers simples de APIs do Google. Elas funcionam como os serviços integrados do Apps Script. Por exemplo, elas oferecem preenchimento automático, e o Apps Script processa o fluxo de autorização automaticamente. No entanto, é preciso ativar um serviço avançado antes de usá-lo em um script.

Para ver quais APIs do Google estão disponíveis como serviços avançados, procure a seção Serviços avançados do Google na Referência. Se você quiser usar uma API do Google que não está disponível como um serviço avançado, basta se conectar a ela como qualquer outra API externa.

Serviços avançados ou HTTP?

Cada um dos serviços avançados está associado a uma API pública do Google. No Apps Script, é possível acessar essas APIs usando serviços avançados ou simplesmente fazendo as solicitações de API diretamente usando UrlFetch.

Se você usar o método de serviço avançado, o Apps Script processará o fluxo de autorização e oferecerá compatibilidade com o preenchimento automático. No entanto, é necessário ativar o serviço avançado antes de usá-lo. Além disso, alguns serviços avançados só fornecem um subconjunto da funcionalidade disponível na API.

Se você usar o método UrlFetch para acessar a API diretamente, tratará essencialmente a API Google como uma API externa. Com esse método, todos os aspectos da API podem ser usados. No entanto, é necessário que você mesmo lide com a autorização da API. Também é necessário criar todos os cabeçalhos necessários e analisar as respostas da API.

Em geral, é mais fácil usar um serviço avançado sempre que possível e usar o método UrlFetch apenas quando o serviço avançado não fornecer a funcionalidade necessária.

Requisitos

Antes de usar um serviço avançado, é necessário atender aos seguintes requisitos:

  1. Ative o serviço avançado no seu projeto de script.
  2. Verifique se a API correspondente ao serviço avançado está ativada no projeto do Cloud Platform (GCP) que seu script usa.

    Se o projeto de script usar um projeto padrão do GCP criado a partir de 8 de abril de 2019, a API será ativada automaticamente depois que você ativar o serviço avançado e salvar o projeto de script. Caso ainda não tenha feito isso, talvez seja necessário concordar com os Termos de Serviço do Google Cloud e das APIs do Google.

    Se o projeto de script usar um projeto padrão do GCP ou um projeto padrão do GCP mais antigo, será necessário ativar manualmente a API correspondente do serviço avançado no projeto do GCP. Você precisa ter acesso para editar o projeto do GCP para fazer essa alteração.

Consulte Projetos do Cloud Platform para mais informações.

Ativar serviços avançados

Para usar um serviço avançado do Google, siga estas instruções:

  1. Abra o projeto do Apps Script.
  2. À esquerda, clique em Editor .
  3. À esquerda, ao lado de Serviços, clique em Adicionar um serviço .
  4. Selecione um Serviço avançado do Google e clique em Adicionar.

Depois que você ativar um serviço avançado, ele estará disponível no preenchimento automático.

Como as assinaturas do método são determinadas

Os serviços avançados geralmente usam os mesmos objetos, nomes de método e parâmetros que as APIs públicas correspondentes, embora as assinaturas de método sejam traduzidas para uso no Apps Script. A função de preenchimento automático do editor de scripts geralmente fornece informações suficientes para começar, mas as regras abaixo explicam como o Apps Script gera uma assinatura de método de uma API pública do Google.

As solicitações para as APIs do Google aceitam diversos tipos de dados, incluindo parâmetros de caminho, parâmetros de consulta, corpo da solicitação e/ou anexo de upload de mídia. Alguns serviços avançados também podem aceitar cabeçalhos de solicitação HTTP específicos, como o serviço avançado do Agenda.

A assinatura de método correspondente no Google Apps Script tem os seguintes argumentos:

  1. O corpo da solicitação (geralmente um recurso), como um objeto JavaScript.
  2. Caminho ou parâmetros obrigatórios, como argumentos individuais.
  3. O anexo de upload de mídia, como um argumento Blob.
  4. Parâmetros opcionais, como um objeto JavaScript que mapeia nomes de parâmetros para valores.
  5. Cabeçalhos de solicitação HTTP, como um objeto JavaScript que mapeia nomes de cabeçalhos para valores de cabeçalho.

Se o método não tiver itens em uma determinada categoria, essa parte da assinatura será omitida.

Há algumas exceções especiais:

  • Para métodos que aceitam um upload de mídia, o parâmetro uploadType é definido automaticamente.
  • Os métodos com o nome delete na API Google são chamados de remove no Apps Script, já que delete é uma palavra reservada no JavaScript.
  • Se um serviço avançado estiver configurado para aceitar cabeçalhos de solicitação HTTP e você definir um objeto JavaScript de cabeçalhos de solicitação, também precisará definir o objeto JavaScript de parâmetros opcionais (como um objeto vazio se não estiver usando parâmetros opcionais).

Suporte para serviços avançados

Os serviços avançados são wrappers simples que permitem o uso de APIs do Google no Apps Script. Dessa forma, qualquer problema encontrado ao usá-los geralmente é um problema com a API subjacente, e não com o Apps Script.

Se você encontrar um problema ao usar um serviço avançado, ele deve ser relatado usando as instruções de suporte para a API subjacente. Há links para essas instruções de suporte em cada guia de serviço avançado na seção Referência do Apps Script.