Biblioteka to projekt skryptu, którego funkcje można ponownie wykorzystać w innych skryptach.
Uzyskiwanie dostępu do biblioteki
Aby uwzględnić bibliotekę w projekcie, musisz mieć do niej dostęp co najmniej na poziomie wyświetlania. Jeśli nie jesteś autorem biblioteki, którą chcesz uwzględnić, skontaktuj się z nim i poproś o dostęp.
Potrzebujesz identyfikatora skryptu biblioteki, którą chcesz uwzględnić. Gdy uzyskasz dostęp do biblioteki, identyfikator skryptu znajdziesz na stronie Ustawienia projektu .
Dodawanie biblioteki do projektu skryptu
- Po lewej stronie edytora Apps Script obok pozycji „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 „Identyfikator” jest tą, której chcesz używać w tej bibliotece. Jest to nazwa, której skrypt używa do odwoływania się do biblioteki. Jeśli na przykład ustawisz wartość
Test, możesz wywołać metodę tej biblioteki w ten sposób:Test.libraryMethod(). - Kliknij Dodaj.
Korzystanie z biblioteki
Korzystaj z biblioteki w taki sam sposób jak z domyślnej usługi. Jeśli na przykład Test jest identyfikatorem Twojej biblioteki, wpisz Test, a następnie od razu kropkę, aby wyświetlić listę metod w bibliotece.
Dokumentację referencyjną dołączonej biblioteki można otworzyć, wykonując 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 skryptów 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żywać projektu skryptu jako biblioteki i udostępniać go, wykonaj te czynności.
- Utwórz wdrożenie skryptu z określoną wersją.
- Udostępnij co najmniej dostęp na poziomie wyświetlania wszystkim potencjalnym użytkownikom biblioteki.
- Podaj tym użytkownikom identyfikator skryptu, który znajdziesz na stronie Ustawienia projektu .
Sprawdzone metody
Oto kilka wskazówek, których należy przestrzegać podczas pisania biblioteki:
- Wybierz dla projektu znaczącą nazwę, ponieważ będzie ona używana jako domyślny identyfikator, gdy Twoja biblioteka zostanie uwzględniona przez inne osoby.
- Jeśli chcesz, aby jedna lub więcej metod skryptu nie była widoczna (ani użyteczna) dla użytkowników biblioteki, możesz zakończyć nazwę metody podkreśleniem. Na przykład:
myPrivateMethod_(). - Użytkownicy biblioteki widzą tylko właściwości globalne, które można wyliczyć. Obejmuje to deklaracje funkcji, zmienne utworzone poza funkcją za pomocą
vari właściwości jawnie ustawione w obiekcie globalnym. Na przykładObject.defineProperty()z ustawioną wartościąenumerablenafalsetworzy symbol, którego możesz używać w bibliotece, ale nie jest on dostępny dla użytkowników. Jeśli chcesz, aby użytkownicy biblioteki mogli korzystać z funkcji autouzupełniania w edytorze 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 możesz korzystać z 2 rodzajów zasobów: udostępnionych i nieudostępnionych. Wspólny zasób oznacza, że zarówno biblioteka, jak i skrypt, który ją zawiera, mają wbudowany dostęp do tej samej instancji zasobu. Poniższy diagram przedstawia zasób udostępniony na przykładzie właściwości użytkownika:

Zasób nieudostępniony oznacza, że zarówno biblioteka, jak i skrypt, który ją zawiera, mają wbudowany dostęp tylko do swojej instancji zasobu. Biblioteka może jednak udostępniać swoje nieudostępnione zasoby, udostępniając funkcje, które na nich działają. Oto przykład funkcji, którą możesz umieścić w bibliotece, aby udostępnić jej właściwości skryptu:
function getLibraryProperty(key) {
const scriptProperties = PropertiesService.getScriptProperties();
return scriptProperties.getProperty(key);
}
Poniższy diagram przedstawia zasób nieudostępniony na przykładzie właściwości skryptu:

W tej tabeli znajdziesz listę udostępnionych i nieudostępnionych zasobów:
| Zasób | Udostępniono* | Nieudostępnione** | Uwagi |
|---|---|---|---|
| Zablokuj | Ta sama instancja jest widoczna dla wszystkich, w tym skryptów, gdy jest tworzona w bibliotece. | ||
| Właściwości skryptu | Ta sama instancja jest widoczna dla wszystkich, w tym skryptów, gdy jest tworzona w bibliotece. | ||
| Cache (Pamięć podręczna) | Ta sama instancja jest widoczna dla wszystkich, w tym skryptów, gdy jest tworzona w bibliotece. | ||
| Aktywatory | Proste aktywatory utworzone w bibliotece nie są wywoływane przez skrypt zawierający. | ||
| ScriptApp | |||
| UiApp |
|
||
| Właściwości użytkownika | |||
| Rejestrator i zapis wykonywania | |||
| Witryny, Arkusze i inne kontenery | Wywołanie funkcji getActive() zwraca kontener, w tym skrypt. |
||
| MailApp i GmailApp | |||
|
* Oznacza to, że biblioteka nie ma własnej instancji funkcji lub zasobu i zamiast tego używa instancji utworzonej przez skrypt, który ją wywołał.
** Oznacza to, że biblioteka ma własną instancję zasobu lub funkcji, a wszystkie skrypty, które jej używają, mają dostęp do tej samej instancji. | |||
Testowanie biblioteki
Aby przetestować bibliotekę, użyj wdrożenia head. Każda osoba, która ma dostęp do skryptu na poziomie edytora, może używać wdrożenia głównego.
Debugowanie biblioteki
Gdy używasz debugera w projekcie, który zawiera bibliotekę, możesz przejść do funkcji tej biblioteki. Kod pojawi się w debuggerze w trybie tylko do odczytu i w odpowiedniej wersji.