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 po raz pierwszy uruchomi skrypt, który wymaga autoryzacji, w interfejsie wyświetli się prośba o rozpoczęcie procesu autoryzacji.

Podczas tego procesu interfejs informuje użytkownika, do czego skrypt potrzebuje uprawnień. Skrypt może na przykład wymagać uprawnień do odczytywania e-maili użytkownika lub tworzenia wydarzeń w kalendarzu. Projekt skryptu definiuje te uprawnienia jako zakresy protokołu 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. Zakresy możesz też jawnie ustawić w manifestu za pomocą ciągów adresów URL. W przypadku niektórych aplikacji, takich jak dodatki, czasami wymagane jest bezpośrednie ustawienie zakresów, ponieważ opublikowane aplikacje powinny zawsze korzystać z najwęższych zakresów.

Podczas procesu autoryzacji Apps Script przedstawia użytkownikowi czytelne opisy wymaganych zakresów. Jeśli na przykład skrypt wymaga dostępu tylko do odczytu do arkuszy kalkulacyjnych, plik manifestu może mieć zakres https://www.googleapis.com/auth/spreadsheets.readonly. W trakcie procesu autoryzacji skrypt o tym zakresie prosi użytkownika o zezwolenie aplikacji na wyświetlanie Twoich arkuszy kalkulacyjnych Google.

Niektóre zakresy uwzględniają inne. Na przykład po autoryzowaniu zakresu https://www.googleapis.com/auth/spreadsheets umożliwia dostęp do odczytu i zapisu w arkuszach kalkulacyjnych.

Zakresy wyświetlania

Aby wyświetlić zakresy wymagane obecnie przez 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 jawnych zakresów

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 to wystarczające i pozwala zaoszczędzić czas, ale w przypadku opublikowanych dodatków, aplikacji internetowych, aplikacji Google Chat i wywołań interfejsu Google Chat API należy mieć większą kontrolę nad zakresami.

Apps Script czasami automatycznie przypisuje projekty bardzo mało restrykcyjne zakresy. Oznacza to, że skrypt może prosić użytkownika o więcej, niż jest to potrzebne, co jest niewłaściwą praktyką. W przypadku opublikowanych skryptów musisz zastąpić szerokie zakresy bardziej ograniczonym zbiorem, który zaspokoi potrzeby skryptu i nie będzie już miał innych elementów.

Zakresy używane przez projekt skryptu możesz bezpośrednio ustawić w pliku manifest. Pole pliku 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. Znajdź 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ść tej tablicy zakresami, których ma używać. 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 Twój projekt skryptu używa zakresów, które umożliwiają dostęp do danych użytkownika, musi on przejść weryfikację klienta OAuth, zanim opublikujesz go jako aplikację internetową lub dodatek. Więcej informacji znajdziesz w tych przewodnikach:

Zakresy z ograniczeniami

Oprócz zakresów wrażliwych niektóre zakresy są klasyfikowane jako z ograniczeniami i podlegają dodatkowym regułom, które pomagają chronić dane użytkownika. Jeśli zamierzasz opublikować aplikację internetową lub dodatek, która korzysta z co najmniej 1 zakresu z ograniczeniami, przed opublikowaniem aplikacja musi przestrzegać wszystkich podanych ograniczeń.

Zanim spróbujesz opublikować, przejrzyj pełną listę zakresów z ograniczeniami. Jeśli Twoja aplikacja używa któregokolwiek z tych zakresów, przed opublikowaniem musisz spełniać dodatkowe wymagania dotyczące określonych zakresów interfejsów API.