Użytkownicy muszą autoryzować dodatki i inne aplikacje, które uzyskują dostęp do ich danych lub działają w ich imieniu. Gdy użytkownik uruchamia dodatek po raz pierwszy, interfejs dodatku wyświetla prośbę o autoryzację, aby rozpocząć proces autoryzacji.
Podczas tego procesu wyświetla się prośba o udzielenie aplikacji uprawnień do określonych działań. Na przykład dodatek może prosić o uprawnienia do odczytywania wiadomości e-mail użytkownika lub tworzenia wydarzeń w jego kalendarzu. Projekt skryptu dodatku definiuje te poszczególne uprawnienia jako zakresy OAuth.
Zakresy deklarujesz w manifeście za pomocą ciągów znaków URL. Podczas procesu autoryzacji Apps Script wyświetla użytkownikowi opis zakresu w formie czytelnej dla człowieka. Na przykład Twój dodatek może używać zakresu „Odczytaj bieżący dokument”, który jest zapisany w manifeście jako https://www.googleapis.com/auth/documents.currentonly
. Podczas procesu autoryzacji dodatek z tym zakresem uprawnień prosi użytkownika o zezwolenie na: wyświetlanie dokumentów, w których zainstalowano tę aplikację, i zarządzanie nimi.
Wyświetlanie zakresów
Zakresy, których obecnie wymaga Twój projekt skryptu, możesz sprawdzić, wykonując te czynności:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Przegląd .
- Zakresy możesz wyświetlić w sekcji „Zakresy OAuth projektu”.
Bieżące zakresy projektu skryptu możesz też wyświetlić w manifeście projektu w polu oauthScopes
, ale tylko wtedy, gdy zostały one wyraźnie ustawione.
Ustawianie jednoznacznych zakresów
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 pozwala zaoszczędzić czas, ale w przypadku opublikowanych dodatków warto mieć większą kontrolę nad zakresami.
Na przykład Apps Script może domyślnie przyznać projektowi skryptu dodatku bardzo szeroki zakres https://mail.google.com
. Gdy użytkownik autoryzuje projekt skryptu z tym zakresem, projekt uzyskuje pełny dostęp do konta Gmail użytkownika. W przypadku opublikowanych dodatków musisz zastąpić ten zakres bardziej ograniczonym zestawem, który obejmuje tylko potrzeby dodatku.
Zakresy używane przez projekt skryptu możesz ustawić, edytując jego plik manifestu. Pole pliku manifestu oauthScopes
to tablica wszystkich zakresów używanych przez dodatek. Aby ustawić zakresy projektu, wykonaj te czynności:
- Wyświetl zakresy, których obecnie używa dodatek. Określ, jakie zmiany należy wprowadzić, np. zawęzić zakres.
- Otwórz plik manifestu dodatku.
- Znajdź pole najwyższego poziomu oznaczone etykietą
oauthScopes
. Jeśli nie ma go na liście, 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ść tej tablicy zakresami, których chcesz używać. Na przykład w przypadku dodatku do edytora, który rozszerza Arkusze, możesz mieć:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.container.ui", "https://www.googleapis.com/auth/spreadsheets" ], ... }
Zapisz zmiany w pliku manifestu.
Weryfikacja OAuth
Używanie niektórych wrażliwych zakresów OAuth może wymagać przejścia przez weryfikację klienta OAuth przed opublikowaniem dodatku. Więcej informacji znajdziesz w tych przewodnikach:
- Weryfikacja klienta OAuth w Apps Script
- Niezweryfikowane aplikacje
- Najczęstsze pytania o weryfikację OAuth
- Usługi interfejsów API Google: zasady dotyczące danych użytkownika
Zakresy z ograniczeniami
Niektóre zakresy są ograniczone i podlegają dodatkowym regułom, które pomagają chronić dane użytkowników. Jeśli zamierzasz opublikować dodatek do Gmaila lub Edytora, który korzysta z co najmniej jednego zakresu o ograniczonym dostępie, przed opublikowaniem musi on spełniać wszystkie określone ograniczenia.
Przed opublikowaniem zapoznaj się z pełną listą zakresów z ograniczeniami. Jeśli dodatek korzysta z któregoś z nich, przed opublikowaniem musisz spełnić dodatkowe wymagania dotyczące zakresów interfejsu API.
Rozszerzenie Google Workspace Developer Tools do Visual Studio Code zawiera informacje diagnostyczne dotyczące wszystkich zakresów, w tym opis zakresu oraz informację, czy jest on wrażliwy lub ograniczony.
Zakresy dodatków do edytora
Podczas tworzenia dodatku do edytora wymagane zakresy są określane przez usługę Apps Script i metody używane przez kod dodatku. Na przykład dodatek do Arkuszy może potrzebować zakresu https://www.googleapis.com/auth/spreadsheets.readonly
, aby odczytywać informacje z różnych Arkuszy Google.
Apps Script automatycznie określa zakresy wymagane przez usługi, których używasz, gdy dodajesz kod do projektu skryptu. W przypadku dodatków do Edytora możesz często polegać na automatycznym zbieraniu zakresów zamiast samodzielnie określać zakresy i ustawiać je w sposób jawny.
Jeśli nie ustawiasz zakresów w sposób jawny, a dodatek Edytora tylko odczytuje lub zapisuje otwarty plik edytora, dodaj do jednego z plików projektu skryptu ten komentarz:
/**
* @OnlyCurrentDoc
*/
Ten komentarz informuje Apps Script, aby zawęzić zakresy plików edytora do currentonly
. Jeśli na przykład dodasz ten komentarz do pliku projektu skryptu dodatku do Arkuszy Google, określisz, że dodatek potrzebuje uprawnień tylko do działania w obecnie otwartym arkuszu, a nie w innych arkuszach, które użytkownik może mieć na Dysku Google. Z kolei nie należy używać tego komentarza, jeśli dodatek do Arkuszy musi odczytywać lub zapisywać dane w arkuszu, który nie jest obecnie otwarty przez użytkownika.