Zakresy autoryzacji

Użytkownicy muszą autoryzować projekty skryptów, które uzyskują 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 potrzebne zakresy. W każdej chwili możesz wyświetlić zakresy, których używa dany skrypt. Możesz też jawnie określać zakresymanifest za pomocą ciągów znaków adresu URL. W przypadku niektórych aplikacji, np. dodatków, konieczne jest czasami jawne ustawienie 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 zakres https://www.googleapis.com/auth/spreadsheets umożliwia odczyt i zapis w arkuszach kalkulacyjnych.

Zakresy wyświetlania

Aby sprawdzić zakresy, których obecnie wymaga Twój projekt skryptu, wykonaj te czynności:

  1. Otwórz projekt skryptu.
  2. Po lewej stronie kliknij Przegląd.
  3. Wyświetl zakresy w sekcji Zakresy protokołu OAuth projektu.

Ustawianie zakresów jednoznacznych

Apps Script automatycznie określa zakresy, których potrzebuje skrypt, skanując swój kod w poszukiwaniu 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 do projektów bardzo liberalne zakresy. Może to oznaczać, że skrypt prosi użytkownika o więcej niż potrzebuje, co jest złym rozwiązaniem. W przypadku opublikowanych skryptów musisz zastąpić szerokie zakresy szerszym zbiorem, który zaspokoi potrzeby skryptu i nie będzie już polegał na czymś innym.

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, wykonaj te czynności:

  1. Otwórz projekt skryptu.
  2. Po lewej stronie kliknij Ustawienia projektu .
  3. Zaznacz pole wyboru Pokaż plik manifestu „appsscript.json” w edytorze.
  4. Po lewej stronie kliknij Edytor .
  5. Po lewej stronie kliknij plik appsscript.json.
  6. Odszukaj pole najwyższego poziomu o nazwie oauthScopes. Jeśli go nie ma, możesz go dodać.
  7. 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"
            ],
           ...
          }
  8. U góry kliknij Zapisz .

Weryfikacja OAuth

Niektóre zakresy protokołu OAuth są poufne, ponieważ umożliwiają dostęp do danych użytkownika Google. Jeśli projekt skryptu używa zakresów, które umożliwiają dostęp do danych użytkownika, musisz najpierw przejść weryfikację klienta OAuth, zanim będzie można opublikować go publicznie jako aplikację internetową lub dodatek. Więcej informacji znajdziesz w tych przewodnikach:

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.