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ą
są udostępniane jako obiekty globalne, podobne do standardu JavaScriptu
Math
obiektu. Na przykład Math
oferuje metody, takie jak random()
czy
takie jak PI
,
Usługa arkuszy kalkulacyjnych umożliwia:
openById(id)
,
klas (obiektów podrzędnych), takich jak
Range
oraz wyliczenia takie jak
DataValidationCriteria
.
Dokumentacja referencyjna dotycząca usług, które kontrolują Google Workspace produkty są zbierane w „Google Workspace Usługi” pod „Źródła wiedzy” na pasku bocznym witryny. Usługi użyteczności publicznej np. tworzenie interfejsów użytkownika, analizowanie kodu XML czy zapisywanie danych w dziennikach) w „Usługach skryptów”, .
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 nowoczesne Składnia i funkcje ECMAScript. Środowisko wykonawcze Rhino jest oparte na starszej wersji JavaScript 1.6 oraz kilka funkcji 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 wykonawcze obsługuje klasy i obiekty JavaScript, które są dostępne dla
skrypt oprócz wbudowanego
i zaawansowanych usług Google. Twoje
skrypty mogą używać typowych obiektów, takich jak
Array
Date
,
RegExp
,
i tak dalej.
oraz
Math
i
Object
obiektów globalnych.
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, zostaną wyświetlone wszystkie prawidłowe podpowiedzi rozpoczynające się od tych znaków.
Informacje o obiektach globalnych
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ń
Globalne obiekty niemal wszystkich wbudowanych usługi zaawansowane obejmują metody, które zwraca 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)
jak niżej w usłudze Gmail:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Jeśli metoda zwraca inną klasę Apps Script, można połączyć w niej wywołania metod w łańcuchu
. (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
; w ten sposób
następujące 2 sekcje kodu są równoważne:
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.');
Dostęp do 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ślonych zajęć, otwórz stronę główną danej usługi
znajdziesz w dokumentacji i wyszukaj metodę, która zwraca odpowiednią klasę.
Obsługa interfejsów
Niektóre usługi obejmują specjalne klasy oznaczone jako „interfejsy”.
w dokumentacji referencyjnej. 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 wyliczeniami
Większość usług zawiera kilka wyliczeń (typów) nazwanych wartości. Dla:
na przykład w usłudze Dysk używane są wyliczenia
Access
i
Permission
, aby określić, którzy użytkownicy
mają dostęp do pliku lub folderu. Dostęp do tych wyliczeń jest dostępny prawie 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);