Serviços integrados do Google

O Google Apps Script fornece mais de 30 serviços integrados para que você interaja dados do usuário, outros sistemas do Google e sistemas externos. Esses serviços são fornecidos como objetos globais semelhantes ao padrão do JavaScript, Math objeto. Por exemplo, assim como Math oferece métodos como random() e constantes como PI, as dependências O serviço de planilha oferece métodos como openById(id), (objetos filhos), como Range e tipos enumerados como DataValidationCriteria.

A documentação de referência dos serviços que controlam Google Workspace produtos são coletados no "Google Workspace Serviços" na seção "Referência" cabeçalho na barra lateral deste site. Serviços de utilidade geral (coisas) como criação de interfaces do usuário, análise de XML ou gravação de dados de registro) são coletados na seção "Serviços de script" nesta seção.

Recursos modernos do JavaScript

O Apps Script aceita dois ambientes de execução JavaScript: o V8 e um mais antigo com a tecnologia do Mozilla Intérprete de JavaScript do Rhino.

O ambiente de execução V8 oferece suporte a A sintaxe e os recursos do ECMAScript. O tempo de execução do Rhino é baseado na arquitetura JavaScript 1.6 padrão, além de alguns recursos de 1,7 e 1.8. É possível escolher livremente o ambiente de execução. para usar com seu script, mas o ambiente de execução do V8 é altamente recomendado.

Cada ambiente de execução oferece suporte a classes e objetos JavaScript que estão disponíveis para sua além do script integrado e os serviços avançados do Google. Seu os scripts podem usar objetos comuns, como Array, Date, RegExp, e assim por diante, assim como Math e Object objetos globais.

Usar o preenchimento automático

O editor de script oferece uma "assistência de conteúdo" mais comum, chamado de "preenchimento automático", que revela os objetos globais, bem como métodos e tipos enumerados válidos no contexto atual do script. As sugestões de preenchimento automático aparecem automaticamente sempre que você digitar um ponto após um objeto global, tipo enumerado ou método que retorna uma classe do Apps Script. Exemplo:

  • Se você digitar o nome completo de um objeto global ou selecionar um no preenchimento automático, depois digite . (um ponto final). Todos os métodos e tipos enumerados dessa classe vão aparecer.
  • Se você digitar alguns caracteres, verá todos os caracteres sugestões que começam com esses caracteres.

Noções básicas sobre objetos globais

Cada serviço fornece pelo menos um objeto global (de nível superior). por exemplo, o serviço do Gmail é acessado exclusivamente objeto GmailApp. Alguns serviços fornecer vários objetos globais; por exemplo, os O serviço base inclui quatro objetos globais: Browser, Logger, MimeType e Session.

Métodos de chamada

Os objetos globais de quase todos os sistemas integrados os serviços avançados incluem métodos que retornar dados ou uma aula do Apps Script. Os scripts fazem chamadas de método neste formato:

GlobalObjectName.methodName(argument1, argument2, ..., argumentN);

Por exemplo, um script pode enviar um e-mail chamando o sendEmail(recipient, subject, body) do serviço do Gmail, da seguinte forma:

GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');

Se um método retornar outra classe do Apps Script, você pode encadear chamadas de método em uma linha (Os tipos de retorno são mostrados no preenchimento automático e na referência de um método documentation.) Por exemplo, o método DocumentApp.create() retorna um Document; assim, duas seções de código a seguir são equivalentes:

var doc = DocumentApp.create('New document');
var body = doc.getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').getBody().appendParagraph('New paragraph.');

Acesso a classes filhas

Todo serviço inclui uma ou mais classes filhas que não podem ser acessadas nível superior, da mesma forma que um objeto global. Não é possível usar a palavra-chave new para construa essas classes, da mesma forma que faria com classes JavaScript padrão, como Date; só é possível acessar uma classe filha chamando um método que a retorne. Se você estiver sem saber como acessar uma determinada classe, visite a página raiz da documentação de referência e procure um método que retorne a classe desejada.

Como lidar com interfaces

Alguns serviços incluem classes especiais rotuladas como "interfaces" na documentação de referência. Essas são classes genéricas usadas como tipos de retorno para métodos que não possam determinar o tipo preciso com antecedência; por exemplo, o método do serviço Document Body.getChild(childIndex) retorna um objeto Element genérico. Element é uma interface que representa alguma outra classe, possivelmente uma Paragraph ou Table Objetos de interface raramente são úteis por conta própria. Em vez disso, o ideal é chamar um método como Element.asParagraph() para retornar o objeto a uma classe precisa.

Como trabalhar com tipos enumerados

A maioria dos serviços inclui alguns tipos enumerados (tipos enumerados) de valores nomeados. Para exemplo, o serviço do Drive usa os tipos enumerados Access e Permission para determinar quais usuários tenham acesso a um arquivo ou uma pasta. Em quase todos os casos, você acessa esses tipos enumerados do objeto global. Por exemplo, uma chamada para o método Folder.setSharing(accessType, permissionType) é assim:

// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);