Wbudowane usługi Google

Google Apps Script udostępnia ponad 30 wbudowanych usług do interakcji z danymi użytkownika, innymi systemami Google i systemami zewnętrznymi. Usługi te są udostępniane jako obiekty globalne podobne do standardowego obiektu Math w JavaScript. Na przykład tak jak Math oferuje metody takie jak random() i stałe takie jak PI, usługa Arkusze kalkulacyjne Apps Script oferuje metody takie jak openById(id), klasy (obiekty podrzędne) takie jak Range i wyliczenia takie jak DataValidationCriteria.

Dokumentacja referencyjna usług, które kontrolująGoogle Workspace produkty, jest dostępna w sekcji „Google Workspace Usługi” w nagłówku „Dokumentacja” na pasku bocznym tej witryny. Usługi narzędziowe (np. do tworzenia interfejsów użytkownika, analizowania kodu XML lub zapisywania danych logowania) są zbierane w sekcji „Usługi skryptowe”.

Nowoczesne funkcje JavaScriptu

Apps Script obsługuje 2 środowiska wykonawcze JavaScript: nowoczesne środowisko wykonawcze V8 i starsze środowisko oparte na interpreterze JavaScript Rhino firmy Mozilla.

Środowisko wykonawcze V8 obsługuje nowoczesną składnię i funkcje ECMAScript. Środowisko wykonawcze Rhino jest oparte na starszym standardzie JavaScript 1.6 oraz kilku funkcjach ze standardów 1.71.8. Możesz dowolnie wybrać środowisko wykonawcze, które będzie używane ze skryptem, ale zdecydowanie zalecamy środowisko wykonawcze V8.

Każde środowisko wykonawcze obsługuje klasy i obiekty JavaScript, które są dostępne w skrypcie oprócz wbudowanych i zaawansowanych usług Google. Skrypty mogą używać typowych obiektów, takich jak Array, Date, RegExp, itd., a także obiektów globalnych MathObject.

Korzystanie z autouzupełniania

Edytor skryptów udostępnia funkcję „pomoc w pisaniu treści”, częściej nazywaną „autouzupełnianiem”, która wyświetla obiekty globalne oraz metody i wyliczenia, które są prawidłowe w bieżącym kontekście skryptu. Sugestie autouzupełniania pojawiają się automatycznie, gdy wpiszesz kropkę po obiekcie globalnym, wyliczeniu lub wywołaniu metody, która zwraca klasę Apps Script. Na przykład:

  • Jeśli wpiszesz pełną nazwę obiektu globalnego lub wybierzesz ją z autouzupełniania, a potem wpiszesz . (kropkę), zobaczysz wszystkie metody i wyliczenia dla tej klasy.
  • Jeśli wpiszesz kilka znaków, zobaczysz wszystkie prawidłowe sugestie, które się od nich zaczynają.

Informacje o obiektach globalnych

Każda usługa udostępnia co najmniej 1 obiekt globalny (najwyższego poziomu). Na przykład do usługi Gmail można uzyskać dostęp wyłącznie za pomocą obiektu GmailApp. Niektóre usługi udostępniają wiele obiektów globalnych. Na przykład usługa podstawowa zawiera 4 obiekty globalne: Browser, Logger, MimeTypeSession.

Metody 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 tym formacie:

GlobalObjectName.methodName(argument1, argument2, ..., argumentN);

Na przykład skrypt może 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 metod w jednym wierszu. (Typy zwracane są wyświetlane zarówno w funkcji autouzupełniania, jak i w dokumentacji referencyjnej metody). Na przykład metoda DocumentApp.create() zwraca wartość Document, więc te 2 fragmenty 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ęć dla dzieci

Każda usługa zawiera co najmniej jedną klasę podrzędną, do której nie można uzyskać dostępu z najwyższego poziomu, tak jak do obiektu globalnego. Nie możesz używać słowa kluczowego new do tworzenia tych klas, tak jak w przypadku standardowych klas JavaScript, np. Date. Dostęp do klasy podrzędnej możesz uzyskać 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ę.

Obsługa interfejsów

Niektóre usługi zawierają specjalne klasy, które w dokumentacji są oznaczone jako „interfejsy”. Są to ogólne klasy używane jako typy zwracane przez metody, które nie mogą z wyprzedzeniem określić dokładnego typu. Na przykład metoda usługi dokumentów Body.getChild(childIndex) zwraca ogólny obiekt Element. Element to interfejs reprezentujący inną klasę, np. Paragraph lub Table. Obiekty interfejsu rzadko są przydatne same w sobie. Zamiast tego zwykle wywołujesz metodę taką jak Element.asParagraph(), aby przekształcić obiekt z powrotem w dokładną klasę.

Praca z wyliczeniami

Większość usług zawiera kilka wyliczeń (typów wyliczeniowych) nazwanych wartości. Na przykład usługa Dysku używa wyliczeń Access i Permission, aby określić, którzy użytkownicy mają dostęp do pliku lub folderu. W większości przypadków dostęp do tych wyliczeń uzyskuje się 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);