Użytkownicy muszą autoryzować projekty skryptów, które mają dostęp do ich danych lub działają w ich imieniu. Gdy użytkownik uruchomi skrypt, który wymaga autoryzacji po raz pierwszy, interfejs wyświetli prośbę o rozpoczęcie procesu autoryzacji.
Podczas tego procesu interfejs informuje użytkownika, czego skrypt chce dokonać. Może to na przykład być odczytanie wiadomości e-mail użytkownika lub utworzenie wydarzeń w jego kalendarzu. Projekt skryptu definiuje te indywidualne uprawnienia jako zakresy uprawnień OAuth.
W przypadku większości skryptów Apps Script automatycznie wykrywa, jakie zakresy są Ci potrzebne. Możesz je w każdej chwili wyświetlić. Możesz też jawnie określać zakresy w manifeście za pomocą ciągów znaków adresu URL. W przypadku niektórych aplikacji, np. dodatków, konieczne jest czasami jawne ustawianie zakresów, ponieważ opublikowane aplikacje powinny zawsze używać możliwie najwęższych zakresów.
Podczas procesu autoryzacji Apps Script wyświetla użytkownikowi czytelne opisy wymaganych zakresów. Jeśli na przykład skrypt potrzebuje dostępu tylko do odczytu do arkuszy kalkulacyjnych, manifest może mieć zakres https://www.googleapis.com/auth/spreadsheets.readonly
. Podczas procesu autoryzacji skrypt z tym zakresem prosi użytkownika o zezwolenie na „wyświetlanie arkuszy kalkulacyjnych Google”.
Niektóre zakresy obejmują inne. Na przykład po autoryzacji zakresu https://www.googleapis.com/auth/spreadsheets
uzyskuje się uprawnienia do odczytu i edycji arkuszy kalkulacyjnych.
Wyświetlanie zakresów
Aby sprawdzić zakresy, których obecnie wymaga Twój projekt skryptu, wykonaj te czynności:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Przegląd.
- Wyświetl zakresy w sekcji Zakresy protokołu OAuth projektu.
Ustawianie zakresów jednoznacznych
Apps Script automatycznie określa, jakich zakresów potrzebuje skrypt, skanując jego kod pod kątem wywołań funkcji, które ich wymagają. W przypadku większości skryptów jest to wystarczające i oszczędza czas, ale w przypadku opublikowanych dodatków, aplikacji internetowych, aplikacji Google Chat i wywołań interfejsu Google Chat API musisz mieć większą kontrolę nad zakresami.
Czasami Apps Script automatycznie przypisuje projektom bardzo liberalne zakresy. Może to oznaczać, że skrypt prosi użytkownika o więcej, niż jest to konieczne, co jest złym rozwiązaniem. W przypadku opublikowanych skryptów musisz zastąpić zakresy ogólne bardziej ograniczonym zestawem, który spełnia potrzeby skryptu i nie zawiera niczego więcej.
Możesz wyraźnie określić zakresy, których używa projekt skryptu, edytując jego plik manifestu. Pole manifestu oauthScopes
to tablica wszystkich zakresów używanych przez projekt. Aby ustawić zakresy projektu:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Ustawienia projektu .
- Zaznacz pole wyboru Wyświetlaj plik manifestu „appsscript.json” w edytorze.
- Po lewej stronie kliknij Edytor .
- Po lewej stronie kliknij plik
appsscript.json
. - Odszukaj pole najwyższego poziomu o nazwie
oauthScopes
. Jeśli go nie ma, możesz go dodać. - Pole
oauthScopes
określa tablicę ciągów znaków. Aby ustawić zakresy, których używa Twój projekt, zastąp zawartość tego tablic odpowiednimi zakresami. Na przykład:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- U góry kliknij Zapisz .
Weryfikacja OAuth
Niektóre zakresy OAuth są wrażliwe, ponieważ umożliwiają dostęp do danych użytkownika Google. Jeśli projekt skryptu korzysta z zakresów, które umożliwiają dostęp do danych użytkownika, musisz najpierw przesłać go do weryfikacji klienta OAuth, zanim będzie można opublikować go publicznie jako aplikację internetową lub dodatek. Więcej informacji znajdziesz w tych przewodnikach:
- Weryfikacja klienta OAuth w Apps Script
- Niezweryfikowane aplikacje
- Najczęstsze pytania dotyczące weryfikacji OAuth
- Zasady usług interfejsów API Google dotyczące danych użytkownika
Zakresy z ograniczeniami
Oprócz zakresów poufnych niektóre zakresy są klasyfikowane jako ograniczone i podlegają dodatkowym regułom, które pomagają chronić dane użytkownika. Jeśli chcesz opublikować aplikację internetową lub dodatek, który korzysta z co najmniej jednego zakresu z ograniczeniami, aplikacja musi być zgodna ze wszystkimi określonymi ograniczeniami, zanim będzie można ją opublikować.
Zanim spróbujesz opublikować aplikację, zapoznaj się z pełną listą zakresów z ograniczeniami. Jeśli Twoja aplikacja korzysta z jakiegoś z nich, przed opublikowaniem musisz spełnić dodatkowe wymagania dotyczące zakresów interfejsu API.