Biblioteka to projekt skryptu, którego funkcje można ponownie wykorzystywać w innych skryptach.
Uzyskiwanie dostępu do biblioteki
Aby uwzględnić bibliotekę w projekcie, musisz mieć do niego dostęp na poziomie widoku danych. Jeśli nie jesteś autorem biblioteki, którą chcesz uwzględnić, skontaktuj się z nią i poproś o dostęp.
Musisz mieć identyfikator skryptu biblioteki, którą chcesz uwzględnić. Gdy będziesz mieć dostęp do biblioteki, identyfikator skryptu znajdziesz na stronie Ustawienia projektu
.Dodawanie biblioteki do projektu skryptu
- Po lewej stronie edytora Apps Script, obok sekcji „Biblioteki”, kliknij Dodaj bibliotekę .
- W polu „Identyfikator skryptu” wklej identyfikator skryptu biblioteki.
- Kliknij Wyszukaj.
- Kliknij menu Wersja i wybierz wersję biblioteki, której chcesz użyć.
- Sprawdź, czy domyślna nazwa „identyfikatora” ma być używana w tej bibliotece. Jest to nazwa, której skrypt używa w odniesieniu do biblioteki. Jeśli jest na przykład ustawiona wartość
Test
, możesz wywołać metodę biblioteki w ten sposób:Test.libraryMethod()
. - Kliknij Dodaj.
Korzystanie z biblioteki
Korzystaj z biblioteki, tak jak w przypadku usługi domyślnej. Jeśli na przykład identyfikator Twojej biblioteki to Test
, wpisz Test
, a następnie kropkę, aby wyświetlić listę metod w bibliotece.
Aby otworzyć dokumentację dotyczącą dołączonej biblioteki, wykonaj te czynności:
Po lewej stronie edytora skryptów, obok nazwy biblioteki, kliknij Więcej
> Otwórz w nowej karcie.Usuwanie biblioteki
Po lewej stronie edytora skryptu, obok nazwy biblioteki, kliknij Więcej
> Usuń > Usuń bibliotekę.Aktualizowanie biblioteki
Możesz zmienić wersję biblioteki lub zaktualizować jej identyfikator.
- Po lewej stronie edytora w sekcji „Biblioteki” kliknij nazwę biblioteki.
- Wprowadź zmiany i kliknij Zapisz.
Tworzenie i udostępnianie biblioteki
Aby użyć skryptu i udostępnić go jako bibliotekę, wykonaj poniższe czynności.
- Utwórz wdrożoną wersję skryptu.
- Udostępnij wszystkim potencjalnym użytkownikom biblioteki co najmniej dostęp na poziomie wyświetlania.
- Udostępnij tym użytkownikom identyfikator skryptu, który znajdziesz na stronie Ustawienia projektu .
Sprawdzone metody
Oto kilka wskazówek, które należy stosować podczas pisania biblioteki:
- Wybierz rozpoznawalną nazwę projektu, ponieważ jest używana jako identyfikator domyślny, gdy biblioteka jest dołączana przez inne osoby.
- Jeśli chcesz, aby co najmniej jedna metoda skryptu była niewidoczna dla użytkowników biblioteki (bezużyteczna), możesz zakończyć jej nazwę znakiem podkreślenia. Na przykład:
myPrivateMethod_()
. - Użytkownicy z biblioteki widzą tylko wymienne właściwości globalne. Obejmuje to deklaracje funkcji, zmienne utworzone poza funkcją
var
oraz właściwości jawnie ustawione w obiekcie globalnym. Na przykładObject.defineProperty()
z atrybutemenumerable
ustawionym nafalse
tworzy symbol, którego możesz użyć w bibliotece, ale nie jest on dostępny dla użytkowników. Jeśli chcesz, aby użytkownicy biblioteki mogli korzystać z automatycznego uzupełniania edytora skryptów i automatycznie generowanej dokumentacji, musisz mieć dokumentację w stylu JSDoc dla wszystkich funkcji. Oto przykład:
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
Określanie zakresu zasobów
Podczas pracy z bibliotekami dostępne są 2 typy zasobów: udostępnione i nieudostępnione. Wspólny zasób oznacza, że zarówno biblioteka, jak i skrypt zawierający kod mają wbudowany dostęp do tego samego wystąpienia zasobu. Poniższy diagram przedstawia udostępniony zasób z użyciem przykładu właściwości użytkownika:
Nieudostępniony zasób oznacza, że zarówno biblioteka, jak i skrypt zawierający wbudowany dostęp mają dostęp tylko do jego instancji. Biblioteka może jednak zapewnić dostęp do zasobów, które nie są współużytkowane, za pomocą jawnych funkcji, które działają na nich. Oto przykład funkcji, którą należy dodać do biblioteki, aby wyświetlić jej właściwości skryptu:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
Ten diagram pokazuje nieudostępniony zasób z użyciem przykładowej właściwości skryptu:
W tej tabeli znajdziesz informacje o zasobach udostępnionych i nieudostępnionych:
Zasób | Udostępnione* | Nieudostępniony** | Uwagi |
---|---|---|---|
Zamek | Ta sama instancja jest widoczna dla wszystkich użytkowników, w tym dla skryptów tworzonych w bibliotece. | ||
Właściwości skryptu | Ta sama instancja jest widoczna dla wszystkich użytkowników, w tym dla skryptów tworzonych w bibliotece. | ||
Cache (Pamięć podręczna) | Ta sama instancja jest widoczna dla wszystkich użytkowników, w tym dla skryptów tworzonych w bibliotece. | ||
Aktywatory | Proste aktywatory utworzone w bibliotece nie są wyzwalane przez dołączenie skryptu. | ||
Skrypt aplikacji | |||
Aplikacja użytkownika |
|
||
Właściwości użytkownika | |||
Transkrypcja i rejestracja wykonania | |||
Witryny, arkusze kalkulacyjne i inne kontenery | Wywołanie getActive() zwraca kontener skryptu. |
||
MailApp i GmailApp | |||
* Oznacza to, że biblioteka nie ma własnego wystąpienia funkcji/zasobu i używa tej, która została wywołana przez skrypt.
** Oznacza to, że biblioteka ma własne wystąpienie zasobu lub funkcji oraz że wszystkie skrypty używające biblioteki mają dostęp do tej samej instancji i mają do niej dostęp. |
Testowanie biblioteki
Aby przetestować bibliotekę, użyj wdrożenia Head. Każdy, kto ma dostęp do skryptu na poziomie edytora, może użyć wdrożenia Head.
Debugowanie biblioteki
Podczas korzystania z debugera w projekcie zawierającym bibliotekę możesz uzyskać dostęp do funkcji tej biblioteki. Kod jest wyświetlany w debugerze w trybie tylko do odczytu i w odpowiedniej wersji.