Zakresy

Użytkownicy muszą autoryzować dodatki i inne aplikacje, które mają dostęp do ich danych ani działać w jego imieniu. Gdy użytkownik uruchomi dodatek po raz pierwszy, w interfejsie pojawi się prośba o autoryzację, aby rozpocząć proces autoryzacji.

Podczas tego procesu użytkownik dowiaduje się, jakie uprawnienia chce uzyskać aplikacja. Na przykład dodatek może chcieć uzyskać uprawnienia do odczytania wiadomości e-mail użytkownika lub tworzenia wydarzeń w jego kalendarzu. Skrypt dodatku projekt definiuje te uprawnienia jako zakresy protokołu OAuth.

Zakresy deklarujesz w pliku manifestu za pomocą ciągów adresów URL. W trakcie procesu autoryzacji Apps Script wyświetla zrozumiały dla użytkownika opis zakresu. Na przykład dodatek do Google Workspace może użyć polecenia „Przeczytaj bieżącą wiadomość” zakresu zapisany w pliku manifestu jako https://www.googleapis.com/auth/gmail.addons.current.message.readonly W trakcie podczas procesu autoryzacji, dodatek z tym zakresem prosi użytkownika dodatek do: Wyświetlanie e-maili po uruchomieniu dodatku.

Zakresy wyświetlania

Zakresy wymagane obecnie przez projekt skryptu możesz sprawdzić, wykonując :

  1. Otwórz projekt skryptu.
  2. Po lewej stronie kliknij Przegląd.
  3. Sprawdź zakresy w sekcji „Zakresy uprawnień OAuth projektu”.

Bieżące zakresy projektu skryptu możesz też wyświetlić w pliku manifestu projektu w polu oauthScopes, ale tylko wtedy, gdy zakresy te zostały skonfigurowane wyraźnie.

Ustawianie jawnych 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 jest wystarczające i oszczędza czas, ale w przypadku opublikowanych dodatków warto i daje większą kontrolę nad zakresami.

Na przykład Apps Script może domyślnie nadać projektowi skryptu dodatku bardzo liberalny zakres https://mail.google.com. Gdy użytkownik autoryzuje projekt skryptu z takim zakresem, projektowi przyznawany jest pełny dostęp do konta Gmail użytkownika. W przypadku opublikowanych dodatków musisz zastąpić ten zakres bardziej w ograniczonym zakresie, który zaspokaja wszystkie potrzeby dodatków.

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 dodatek. Aby ustawić zakresy projektu, wykonaj :

  1. Wyświetl zakresy stosowane obecnie przez Twoje rozszerzenie Określ, jakie zmiany należy wprowadzić, np. zawężenie zakresu.
  2. Otwórz plik manifestu dodatku.
  3. Znajdź pole najwyższego poziomu o nazwie oauthScopes. Jeśli go nie ma, możesz ją dodać.
  4. oauthScopes określa tablicę ciągów znaków. Aby ustawić zakresy przez co Twój projekt zastąpi zawartość tej tablicy zakresami, których ma używać. Na przykład dodatek do Google Workspace, który rozszerza możliwości Gmaila, może zawierać:

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
  5. Zapisz zmiany w pliku manifestu.

Weryfikacja OAuth

Korzystanie z niektórych wrażliwych zakresów protokołu OAuth może wymagać podania dodatku Weryfikacja klienta OAuth przed opublikowaniem. Więcej informacji znajdziesz w tych przewodnikach:

Zakresy z ograniczeniami

Niektóre zakresy są ograniczone i podlegają dodatkowym zasadom, które pomagają chronić dane użytkowników. Jeśli chcesz opublikować dodatek do Gmaila lub edytora, który korzysta co najmniej jednego zakresu z ograniczeniami, dodatek musi być zgodny ze wszystkimi ograniczeń przed opublikowaniem.

Zobacz pełną listę zakresów z ograniczeniami przed podjęciem próby publikacji. Jeśli Twój dodatek korzysta z któregokolwiek z nich, musisz przestrzegać z Dodatkowe wymagania dotyczące określonych zakresów interfejsu API przed publikacją.

Zakresy kalendarza

Poniżej znajdziesz często używane zakresy uprawnień w przypadku dodatków Google Workspace, które rozszerzają Kalendarz Google.

Zakres
Dostęp do metadanych zdarzenia https://www.googleapis.com/auth/calendar.addons.execute

Wymagany, jeśli dodatek uzyskuje dostęp do metadanych wydarzeń w Kalendarzu. Umożliwia dodatkowi dostęp do metadanych zdarzenia.

Odczytywanie danych zdarzenia wygenerowanych przez użytkowników https://www.googleapis.com/auth/calendar.addons.current.event.read

Wymagany, jeśli dodatek musi odczytywać dane zdarzenia wygenerowane przez użytkowników. Umożliwia dodatkowi dostęp do danych zdarzeń generowanych przez użytkowników. Te dane są dostępna tylko wtedy, gdy addOns.calendar.eventAccess pole pliku manifestu jest ustawiona na READ lub READ_WRITE.

Zapisywanie danych zdarzeń generowanych przez użytkowników https://www.googleapis.com/auth/calendar.addons.current.event.write

Wymagany, jeśli dodatek musi zapisywać dane zdarzeń generowanych przez użytkowników. Umożliwia dodatkowi edytowanie danych zdarzeń generowanych przez użytkowników. Te dane są dostępna tylko wtedy, gdy addOns.calendar.eventAccess pole pliku manifestu jest ustawiona na WRITE lub READ_WRITE.

Zakresy Dysku

Poniżej znajdziesz często używane zakresy uprawnień wtyczek Google Workspace, które rozszerzają Dysk Google.

Zakres
odczytywanie metadanych wybranego elementu; https://www.googleapis.com/auth/drive.addons.metadata.readonly

Wymagany, jeśli dodatek implementuje interfejs kontekstowy uruchamiany, gdy użytkownik wybierze elementy w Drive. Zezwala dodatek na odczytywanie ograniczony metadanych elementów posiadanych przez użytkownika zaznaczono na Dysku Google. Metadane są ograniczone do identyfikatora, tytułu, typu MIME, adresu URL ikony i informacji o tym, czy dodatek ma uprawnienia dostępu do danego elementu.

Dostęp do poszczególnych plików https://www.googleapis.com/auth/drive.file

Zalecane, jeśli dodatek musi mieć dostęp do indywidualnego Dysku . Przyznaje dostęp z poszczególnych plików do plików utworzonych lub otwartych w aplikacji za pomocą Apps Script – zaawansowany Dysk Usługa. Nie pozwala na wykonywanie podobnych działań za pomocą podstawowej usługi Dysku, . Autoryzacja plików jest przyznawana na poziomie pliku i odwołana, gdy użytkownik cofnie autoryzację aplikacji.

Zobacz Przykład prośby o dostęp do wybranych plików

Zakresy dodatków w Gmailu

Istnieje kilka zakresów, które zostały utworzone specjalnie dla Dodatki do Google Workspace ułatwiające ochronę Gmaila użytkowników i skalowalnych danych. Musisz dodaj te zakresy wprost w pliku manifestu dodatku, a także inne wymagany kod dodatku.

Poniżej znajdziesz często używane zakresy uprawnień dla dodatków Google Workspace, które rozszerzają Gmaila. Te oznaczone jako Wymagane musisz dodać do pliku manifestu dodatku Google Workspace, jeśli Twój dodatek rozszerza Gmaila.

Pamiętaj też, aby zastąpić bardzo szeroki zakres uprawnień https://mail.google.com w rozszerzeniu wąskim zakresem uprawnień, który umożliwia interakcje wymagane przez rozszerzenie i nie więcej.

Zakres
Tworzenie nowych wersji roboczych https://www.googleapis.com/auth/gmail.addons.current.action.compose

Wymagany, jeśli dodatek używa funkcji działania związane z tworzeniem wiadomości. Umożliwia dodatkowi tymczasowe tworzenie nowych wiadomości i odpowiedzi. Szczegółowe informacje znajdziesz w artykule Tworzenie wersji roboczych wiadomości. Ten zakres jest też często używany w  działaniach tworzenia wiadomości. Wymaga tokena dostępu.

Odczytywanie metadanych otwartej wiadomości https://www.googleapis.com/auth/gmail.addons.current.message.metadata

Przyznaje tymczasowy dostęp do metadanych otwartej wiadomości (takich jak temat lub odbiorców). Nie zezwala na odczytywanie treści wiadomości i wymaga tokena dostępu.

Wymagany, jeśli dodatek używa metadanych podczas tworzenia wiadomości reguły. Dla działania tworzenia wiadomości, ten zakres jest wymagany w przypadku aktywatora tworzenia wiadomości. potrzebuje dostępu do metadanych. W praktyce ten zakres uprawnień pozwala aplikacji tworzyć i uzyskiwać dostęp do list odbiorców (do, cc i udw) w e-mailu z odpowiedzią.

Odczytywanie treści otwartej wiadomości https://www.googleapis.com/auth/gmail.addons.current.message.action

Przyznawanie dostępu do treści otwartej wiadomości po interakcji użytkownika, na przykład po wybraniu pozycji menu dodatku. Wymaga tokena dostępu.

Czytanie treści otwartego wątku https://www.googleapis.com/auth/gmail.addons.current.message.readonly

Daje tymczasowy dostęp do metadanych i treści otwartej wiadomości. Przyznaje też dostęp do treści innych wiadomości w otwartej w wątku. Wymaga tokena dostępu.

Odczytywanie treści i metadanych wiadomości https://www.googleapis.com/auth/gmail.readonly

czytać metadanych i treści e-maili, w tym otwartych wiadomości; Wymagany, jeśli chcesz odczytać inne wiadomości, takie jak podczas wyszukiwania lub czytania całego wątku.

Tokeny dostępu

Aby chronić dane użytkowników, zakresy uprawnień Gmaila używane w dodatkach Google Workspace zapewniają tylko tymczasowy dostęp do danych użytkowników. Aby włączyć dostęp tymczasowy, musisz wywołać metodę funkcja GmailApp.setCurrentMessageAccessToken(accessToken) za pomocą tokena dostępu jako argumentu. Należy uzyskać token dostępu z action event obiekt.

Poniżej znajdziesz przykład ustawienia tokena dostępu, który zezwala na dostęp metadanych wiadomości. W tym przykładzie wymagany jest tylko zakres https://www.googleapis.com/auth/gmail.addons.current.message.metadata.

function readSender(e) {
  var accessToken = e.gmail.accessToken;
  var messageId = e.gmail.messageId;

  // The following function enables short-lived access to the current
  // message in Gmail. Access to other Gmail messages or data isn't
  // permitted.
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  return mailMessage.getFrom();
}

Zakresy edytującego

Poniżej znajdziesz często używane zakresy uprawnień dodatków do Google Workspace, które rozszerzają możliwości Dokumentów, Arkuszy i Prezentacji.

Zakres
Dostęp do bieżących plików Dokumentów https://www.googleapis.com/auth/documents.currentonly

Wymagany, jeśli dodatek uzyskuje dostęp do interfejsu Apps Script API Dokumentów. Przyznawanie tymczasowego dostępu do treści otwartego dokumentu.

Aktualny dostęp do plików Arkuszy https://www.googleapis.com/auth/spreadsheets.currentonly

Wymagany, jeśli dodatek uzyskuje dostęp do interfejsu Apps Script Arkuszy API. Przyznaje tymczasowy dostęp do zawartości otwartego arkusza kalkulacyjnego.

Aktualny dostęp do plików Prezentacji https://www.googleapis.com/auth/presentations.currentonly

Wymagany, jeśli dodatek uzyskuje dostęp do interfejsu Apps Script Prezentacji API. Przyznaje tymczasowy dostęp do zawartości otwartej prezentacji.

Dostęp do poszczególnych plików https://www.googleapis.com/auth/drive.file

Wymagane, aby dodatek mógł korzystać z interfejsu onFileScopeGrantedTriggeri jeśli dodatek uzyskuje dostęp do interfejsu API Dokumentów, Arkuszy, Prezentacji lub Dysku. Przyznaje dostęp z poszczególnych plików do plików utworzonych lub otwartych w aplikacji za pomocą Apps Script – zaawansowany Dysk Usługa. Nie można jednak wykonywać podobnych działań za pomocą podstawowej usługi Dysku. Autoryzacja pliku jest przyznawana na poziomie pliku i zostaje cofnięta, gdy użytkownik anuluje autoryzację aplikacji.

Inne zakresy

Jeśli dodatek korzysta z innych usług Apps Script, może wymagać dodatkowych zakresów. W większości przypadków możesz zezwolić Apps Script na wykrywanie tych zakresów i aktualizowanie plik manifestu automatycznie. Podczas edytowania listy zakresów w pliku manifestu nie usuwaj żadnych zakresów, chyba że zastąpisz je bardziej odpowiednią alternatywą, np. do węższego zakresu.

Oto lista zakresów Apps Script, które są często używane w połączeniu z dodatkami do Google Workspace:

Zakres
Czytanie adresu e-mail użytkownika https://www.googleapis.com/auth/userinfo.email

Umożliwia projektowi odczytywanie adresu e-mail bieżącego użytkownika.

Zezwól na połączenia z usługami zewnętrznymi https://www.googleapis.com/auth/script.external_request

Pozwala projektowi tworzyć UrlFetch żądań. Jest to też wymagane, jeśli projekt korzysta z biblioteki OAuth2 dla Apps Script.

Odczytywanie ustawień języka i strefy czasowej użytkownika https://www.googleapis.com/auth/script.locale

Umożliwia projektowi określenie lokalizacji i strefy czasowej bieżącego użytkownika. Zobacz Dostęp do ustawień regionalnych i strefy czasowej użytkownika, aby dowiedzieć się więcej.

Utworzenie reguł. https://www.googleapis.com/auth/script.scriptapp

Umożliwia projektowi tworzenie wyzwalaczy.

Podgląd linków zewnętrznych https://www.googleapis.com/auth/workspace.linkpreview

Wymagane, jeśli w podglądzie widać linki do usługi zewnętrznej. Zezwala projektowi na dostęp do linku w aplikacji Google Workspace, gdy użytkownik wchodzi z nią w interakcję. Więcej informacji można znaleźć w sekcji Wyświetl podgląd linków z elementami inteligentnymi.

Tworzenie zasobów zewnętrznych https://www.googleapis.com/auth/workspace.linkcreate

Wymagane, jeśli dodatek tworzy zasoby w usłudze innej firmy. Umożliwia projektowi odczytywanie informacji przesyłanych przez użytkowników w formularzu tworzenia zasobu oraz dodawanie linku do zasobu w aplikacji Google Workspace. Więcej informacji można znaleźć w sekcji Zasoby innych firm możesz tworzyć za pomocą menu @.