O Google Apps Script fornece mais de 30 serviços integrados para que você interaja
dados de usuários, outros sistemas do Google e sistemas externos. Esses serviços são
fornecidos como objetos globais semelhantes ao objeto
Math
padrão do JavaScript. 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 para serviços que controlam produtosGoogle Workspace é coletada na seção "ServiçosGoogle Workspace ", no cabeçalho "Referência", 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 disponíveis para seu
script, além dos serviços avançados do Google e integrados. Seu
os scripts podem usar objetos comuns, como
Array
,
Date
,
RegExp
,
e assim por diante,
assim como
Math
e
Object
objetos globais.
Como usar o preenchimento automático
O editor de script oferece um recurso de "assistência de conteúdo", mais conhecido como "preenchimento automático", que revela os objetos globais, bem como métodos e enumerações válidos no contexto atual do script. As sugestões de preenchimento automático aparecem automaticamente sempre que você digita um período após uma chamada de objeto, enumeração ou método global 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, vai aparecer todas as sugestões válidas 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 serviços integrados ou avançados incluem métodos que retornam dados ou uma classe 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 retorna outra classe do Apps Script, é possível 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.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');
// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
.appendParagraph('New paragraph.');
Como acessar 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 que são marcadas 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 podem determinar o tipo exato com antecedência. Por exemplo,
o método Document service
Body.getChild(childIndex)
retorna um objeto Element
genérico.
Element
é uma interface que representa 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 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)
tem esta aparência:
// 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);