Wbudowane usługi Google

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.71.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, RegExppodobnych, a także obiektów globalnych MathObject.

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);