Biblioteka to projekt skryptu, którego funkcje można wykorzystać w innych skryptach.
Jak uzyskać dostęp do biblioteki
Aby uwzględnić bibliotekę w projekcie, musisz mieć do niej dostęp na poziomie widoku danych. Jeśli nie jesteś autorem biblioteki, którą chcesz dodać, skontaktuj się z jej autorem i poproś o dostęp.
Potrzebujesz identyfikatora skryptu z biblioteki, którą chcesz uwzględnić. Po uzyskaniu dostępu 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 z biblioteki.
- Kliknij Wyszukaj.
- Kliknij menu Wersja i wybierz wersję biblioteki, której chcesz użyć.
- Sprawdź, czy chcesz użyć domyślnej nazwy „Identyfikatora” z tą biblioteką. Jest to nazwa, której skrypt używa
do określania biblioteki. Jeśli np. ustawisz wartość
Test
, możesz wywołać metodę tej biblioteki w ten sposób:Test.libraryMethod()
. - Kliknij Dodaj.
Korzystanie z biblioteki
Korzystaj z uwzględnionej biblioteki w taki sam sposób jak z usługi domyślnej. Jeśli np. identyfikator biblioteki to Test
, wpisz Test
bezpośrednio po kropce, aby wyświetlić listę metod w bibliotece.
Aby otworzyć dokumentację załączoną 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 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żyć projektu skryptu i udostępnić go jako bibliotekę, wykonaj poniższe czynności.
- Utwórz wdrożenie z obsługą wersji skryptu.
- Wszystkim potencjalnym użytkownikom biblioteki musisz przyznać co najmniej dostęp na poziomie widoku.
- Przekaż tym użytkownikom identyfikator skryptu, który znajdziesz na stronie Ustawienia projektu .
Sprawdzone metody
Oto kilka wskazówek, których należy przestrzegać podczas tworzenia biblioteki:
- Nadaj projektowi rozpoznawalną nazwę, ponieważ jest ona używana jako domyślny identyfikator, gdy Twoja biblioteka jest dołączana do biblioteki.
- Jeśli chcesz, aby co najmniej jedna metoda skryptu nie była widoczna (i nie była używana) dla użytkowników biblioteki, możesz zakończyć jej nazwę podkreśleniem. Na przykład:
myPrivateMethod_()
. - Użytkownicy biblioteki widzą tylko liczne właściwości globalne. Obejmuje to deklaracje funkcji, zmienne utworzone poza funkcją
var
oraz właściwości bezpośrednio ustawione w obiekcie globalnym. Na przykład zapisObject.defineProperty()
z parametremenumerable
ustawionym nafalse
tworzy symbol, którego możesz użyć w swojej bibliotece, ale nie jest on dostępny dla użytkowników. Jeśli chcesz, aby użytkownicy Twojej biblioteki korzystali z autouzupełniania edytora skryptów i automatycznie generowanej dokumentacji, musisz przygotować 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
Istnieją 2 typy zasobów: udostępnione i nieudostępniane. Zasób wspólny oznacza, że zarówno biblioteka, jak i skrypt włączający mają wbudowany dostęp do tej samej instancji zasobu. Na diagramie poniżej widać udostępniony zasób za pomocą przykładowych właściwości użytkownika:
Zasób nieudostępniony oznacza, że zarówno biblioteka, jak i skrypt uwzględniający mają wbudowany dostęp tylko do swojej instancji zasobu. Biblioteka może jednak zapewniać dostęp do nieudostępnionych zasobów, używając wyraźnych funkcji, które na nich działają. Oto przykład funkcji, którą należałoby umieścić w bibliotece, aby udostępnić jej właściwości skryptu:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
Poniższy diagram przedstawia zasób, który nie jest udostępniany, z przykładowymi właściwościami skryptu:
W tej tabeli znajdziesz listę zasobów udostępnionych i nieudostępnionych:
Zasób | Udostępnione* | Nieudostępnione** | Uwagi |
---|---|---|---|
Zamek | Ta sama instancja jest widoczna dla wszystkich skryptów po utworzeniu w bibliotece. | ||
Właściwości skryptu | Ta sama instancja jest widoczna dla wszystkich skryptów po utworzeniu w bibliotece. | ||
Cache (Pamięć podręczna) | Ta sama instancja jest widoczna dla wszystkich skryptów po utworzeniu w bibliotece. | ||
Aktywatory | Proste aktywatory utworzone w bibliotece nie są wyzwalane przez skrypt uwzględniający. | ||
ScriptApp | |||
UiApp | |||
Właściwości użytkownika | |||
Rejestrator i transkrypcja wykonywania | |||
Witryny, Arkusze i inne kontenery | Wywołanie getActive() zwraca kontener skryptu uwzględniającego. |
||
MailApp i GmailApp | |||
* Oznacza to, że biblioteka nie ma własnej instancji funkcji/zasobu i zamiast tego korzysta z instancji utworzonej przez skrypt, który ją wywołał.
** Oznacza to, że biblioteka ma własną instancję zasobu lub funkcji i wszystkie skrypty, które z niej korzystają, mają do niej dostęp i mają do niej dostęp. |
Testowanie biblioteki
Aby przetestować bibliotekę, użyj wdrożenia z nagłówka. Każdy użytkownik, który ma dostęp do skryptu na poziomie edytora, może użyć wdrożenia z nagłówka.
Debugowanie biblioteki
Jeśli używasz debugera w projekcie, który zawiera bibliotekę, możesz przejść do funkcji załączonej biblioteki. Kod pojawia się w debugerze w trybie „tylko wyświetlanie” i we właściwej wersji.