Os serviços avançados do Apps Script permitem que desenvolvedores experientes se conectem algumas APIs públicas do Google com menos configuração do que as interfaces HTTP delas. Os serviços avançados são basicamente wrappers simples em torno dessas APIs do Google. Eles funcionam de forma parecida com serviços integrados, como os que oferecem preenchimento automático, e o Apps Script processa fluxo de autorização automaticamente. No entanto, é necessário ativar um serviço avançado antes você pode usá-lo em um script.
Para ver quais APIs do Google estão disponíveis como serviços avançados, procure o seção Serviços avançados do Google no Referência. Se você quer usar uma API do Google não está disponível como um serviço avançado, basta se conectar a ele como qualquer outro API externa.
Serviços avançados ou HTTP?
Cada um dos serviços avançados do Google está associado a uma API pública do Google.
No Apps Script, você pode acessar essas APIs por meio de serviços avançados ou simplesmente
fazer as solicitações de API diretamente usando
UrlFetch
Se você usar o método de serviço avançado, o Apps Script processará os fluxo de autorização e ofertas suporte ao preenchimento automático. No entanto, você precisa ativar o serviço avançado antes de usar reimplantá-lo. Além disso, alguns serviços avançados fornecem apenas um subconjunto dos funcionalidade disponível na API.
Se você usar o método UrlFetch
para acessar a API diretamente, terá
tratando a API do Google como uma
API externa. Com esse método, todas
da API podem ser usados. No entanto, ele exige que você lide com a API
autorização por conta própria. Você também deve criar 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 só
use o método UrlFetch
quando o serviço avançado não fornecer a
da funcionalidade de que você precisa.
Requisitos
Antes de usar um serviço avançado, é necessário atender aos seguintes requisitos:
- É necessário ativar o serviço avançado em seu projeto de script.
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 criada a partir de 8 de abril de 2019, a API será ativada automaticamente depois de ativar o serviço avançado e salvar o projeto de script. Se você ainda não fez isso, pode ser foi solicitado que você concorde com o Google Cloud e dos Termos de Serviço das APIs do Google.
Se o seu projeto de script usa uma projeto padrão do GCP ou um projeto padrão mais antigo do GCP, é necessário ativar a API correspondente do serviço avançado no projeto do GCP manualmente. Você precisa ter acesso para editar no 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:
- Abra o projeto do Apps Script.
- À esquerda, clique em Editor .
- À esquerda, ao lado de Serviços, clique em Adicionar um serviço
- Selecione um serviço avançado do Google e clique em Adicionar.
Depois que você ativa um serviço avançado, ele fica disponível no preenchimento automático.
Como as assinaturas dos métodos são determinadas
Os serviços avançados geralmente usam os mesmos objetos, nomes de métodos e parâmetros que as APIs públicas correspondentes, embora as assinaturas de método sejam traduzidas para no Apps Script. O conjunto de dados função de preenchimento automático geralmente fornece informações suficientes para começar, mas as regras abaixo explicam como o Apps Script gera uma assinatura de método com base em uma API pública do Google.
As solicitações às APIs do Google podem aceitar vários tipos diferentes de dados, incluindo parâmetros de caminho, parâmetros de consulta, um corpo de solicitação e/ou um parâmetro fazer upload do anexo. Alguns serviços avançados também podem aceitar solicitações HTTP cabeçalhos (por exemplo, o serviço avançado do Agenda).
A assinatura do método correspondente no Google Apps Script tem as seguintes características: argumentos:
- O corpo da solicitação (geralmente um recurso), como um objeto JavaScript.
- Caminho ou parâmetros obrigatórios, como argumentos individuais.
- O anexo de upload de mídia, como um
Blob
. - Parâmetros opcionais, como nomes de parâmetros de mapeamento de objetos JavaScript para valores.
- Cabeçalhos de solicitação HTTP, como um objeto JavaScript que mapeia nomes de cabeçalhos para cabeçalhos valores.
Se o método não tiver itens em uma determinada categoria, essa parte do a assinatura é omitida.
Há algumas exceções especiais que você precisa considerar:
- 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 do Google são chamados deremove
no Apps Script. já quedelete
é uma palavra reservada em JavaScript. - Se um serviço avançado estiver configurado para aceitar cabeçalhos de solicitação HTTP e você defina um objeto JavaScript dos cabeçalhos da solicitação, também será necessário definir o parâmetros JavaScript (para um objeto vazio se você não estiver usando parâmetros opcionais).
Suporte para serviços avançados
Os serviços avançados são apenas wrappers simples que permitem o uso de um serviço APIs no Apps Script. Dessa forma, qualquer problema encontrado ao usá-los é geralmente é um problema com a API subjacente, não com o Apps Script em si.
Se você encontrar um problema ao usar um serviço avançado, ele deve ser relatadas usando as instruções de suporte da API subjacente. Links para estes instruções de suporte são fornecidas em cada guia de serviço avançado na Seção Referência do Apps Script.