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.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.');
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ń 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);