Google Apps Script zapewnia ponad 30 wbudowanych usług umożliwiających interakcję
danych użytkowników, innych systemach Google i systemach zewnętrznych. Te usługi są udostępniane jako obiekty globalne podobne do standardowego obiektu Math
w JavaScript. Podobnie jak Math
udostępnia metody takie jak random()
i stałe takie jak PI
, usługa Arkusz kalkulacyjny w Apps Script udostępnia metody takie jak openById(id)
, klasy (obiekty podrzędne) takie jak Range
i enumeracje takie jak DataValidationCriteria
.
Dokumentacja referencyjna usług, które kontrolują produktyGoogle Workspace , jest zebrana w sekcji „Google Workspace Usługi” pod nagłówkiem „Informacje” w sekcji bocznej tej witryny. Usługi pomocnicze (np. do tworzenia interfejsów użytkownika, analizowania kodu XML lub zapisywania danych dziennika) są zbierane w sekcji „Usługi skryptu”.
Nowoczesne funkcje JavaScript
Apps Script obsługuje 2 środowiska wykonawcze JavaScript: środowisko wykonawcze V8 oraz starsze oparte na technologii Mozilla Interpreter JavaScriptu Rhino.
Środowisko wykonawcze V8 obsługuje nowoczesną składnię i funkcje ECMAScript. Środowisko wykonawcze Rhino jest oparte na starszej normie JavaScript 1.6, a także kilku funkcjach z wersji 1.7 i 1.8. Możesz dowolnie wybrać środowisko wykonawcze do użycia ze skryptem, ale zdecydowanie zalecamy środowisko wykonawcze V8.
Każde środowisko uruchomieniowe obsługuje klasy i obiekty JavaScript, które są dostępne dla Twojego skryptu, oprócz wbudowanych i zaawansowanych usług Google. Twoje skrypty mogą używać typowych obiektów, takich jak Array
, Date
, RegExp
i podobnych, a także obiektów globalnych Math
i Object
.
Korzystanie z autouzupełniania
Edytor skryptów zapewnia „pomoc w zakresie treści” cechę, nazywaną częściej „autouzupełnianie”, które ujawnia obiekty globalne, a także metody i wyliczenia. które są prawidłowe w bieżącym kontekście skryptu. Pojawiają się sugestie autouzupełniania automatycznie za każdym razem, gdy wpiszesz kropkę po obiekcie globalnym, wyliczeniu lub metodzie , które zwraca klasę Apps Script. Na przykład:
- Jeśli wpiszesz pełną nazwę obiektu globalnego lub wybierzesz obiekt z autouzupełniania,
a następnie wpisz
.
(kropka), wyświetlą się wszystkie metody i wyliczenia dla danej klasy. - Jeśli wpiszesz kilka znaków, zobaczysz wszystkie prawidłowe sugestie, które się na nie zaczynają.
Obiekty globalne
Każda usługa udostępnia co najmniej 1 obiekt globalny (najwyższego poziomu). np.
usługa Gmail jest dostępna wyłącznie z
obiekt GmailApp
. Niektóre usługi
dostarczania wielu obiektów globalnych; na przykład
Usługa podstawowa zawiera 4 obiekty globalne:
Browser
,
Logger
MimeType
i
Session
.
Metody nawiązywania połączeń
Obiekty globalne prawie wszystkich wbudowanych lub zaawansowanych usług zawierają metody, które zwracają dane lub klasę Apps Script. Skrypty wywołują metody w takim formacie:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
Skrypt może na przykład wysłać e-maila, wywołując metodę sendEmail(recipient, subject, body)
usługi Gmail w ten sposób:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Jeśli metoda zwraca inną klasę Apps Script, możesz połączyć wywołania metody w jednym wierszu. (Typy zwracane są wyświetlane zarówno w autouzupełnianiu, jak i w odwołaniach do metody)
documentation.) Na przykład metoda DocumentApp.create()
zwraca Document
, więc te 2 sekcje kodu są równoważne:
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.');
Otwieranie zajęć podrzędnych
Każda usługa zawiera co najmniej 1 klasę podrzędną, do której nie można uzyskać dostępu
jak obiekt globalny. Nie można użyć słowa kluczowego new
do:
tworzenia tych klas tak samo jak przy użyciu standardowych klas JavaScriptu,
Date
;
możesz uzyskać dostęp do klasy podrzędnej tylko przez wywołanie metody, która ją zwraca. Jeśli nie wiesz, jak uzyskać dostęp do określonej klasy, otwórz stronę główną dokumentacji referencyjnej usługi i poszukaj metody, która zwraca odpowiednią klasę.
Praca z interfejsami
Kilka usług zawiera specjalne klasy opisane w dokumentacji referencyjnej jako „interfejsy”. To są klasy ogólne używane jako typy zwracanych
w przypadku metod, które nie mogą z wyprzedzeniem określić dokładnego typu; np.
metoda Usługa dokumentów
Body.getChild(childIndex)
.
zwraca ogólny obiekt Element
.
Element
to interfejs, który reprezentuje inną klasę, ewentualną
Paragraph
lub
Table
Obiekty interfejsu są rzadko
są przydatne; zwykle lepiej wywoływać metodę taką jak
Element.asParagraph()
do rzutowania obiektu z powrotem na dokładną klasę.
Praca z typami wyliczeniowymi
Większość usług zawiera kilka wyliczeń (typów) nazwanych wartości. Na przykład usługa Dysk używa enumeracji Access
i Permission
, aby określić, którzy użytkownicy mają dostęp do pliku lub folderu. Dostęp do tych wyliczeń można uzyskać niemal we wszystkich przypadkach
z obiektu globalnego. Na przykład wywołanie metody
Folder.setSharing(accessType, permissionType)
wygląda tak:
// 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);