Użytkownicy muszą autoryzować dodatki i inne aplikacje, które mają dostęp do ich danych lub działają w ich imieniu. Gdy użytkownik uruchomi dodatek po raz pierwszy, w interfejsie pojawi się prośba o autoryzację, która rozpocznie 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. Projekt skryptu dodatku definiuje te indywidualne uprawnienia jako zakresy uprawnień OAuth.
Zakresy deklarujesz w pliku manifestu za pomocą ciągów znaków adresu URL. Podczas procesu autoryzacji Apps Script wyświetla użytkownikowi opis zakresu w formie zrozumiałej dla człowieka. Na przykład Twój dodatek Google Workspace może używać zakresu „Czytaj bieżącą wiadomość”, który w pliku manifestu jest zapisany jako https://www.googleapis.com/auth/gmail.addons.current.message.readonly
. Podczas procesu autoryzacji dodatek o takim zakresie uprawnień prosi użytkownika o zezwolenie na: wyświetlanie e-maili, gdy dodatek jest uruchomiony.
Wyświetlanie zakresów
Aby wyświetlić zakresy wymagane obecnie przez projekt skryptu, wykonaj te czynności:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Przegląd .
- 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 zakresów jednoznacznych
Apps Script automatycznie określa zakresy, których potrzebuje skrypt, skanując swój 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 należy bardziej bezpośrednio kontrolować zakresy.
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 ograniczonym zestawem, który obejmuje potrzeby dodatków i nic 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 dodatek. Aby ustawić zakresy projektu, wykonaj te czynności:
- Wyświetl zakresy, których obecnie używa Twoje rozszerzenie Określ, jakie zmiany należy wprowadzić – na przykład używając węższego zakresu.
- Otwórz plik manifestu dodatku.
- 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ść tej tablicy zakresami, których ma ona używać. Na przykład w przypadku dodatku Google Workspace, który rozszerza Gmaila, możesz mieć:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email" ], ... }
Zapisz zmiany w pliku manifestu.
Weryfikacja OAuth
Korzystanie z pewnych wrażliwych zakresów OAuth może wymagać weryfikacji klienta OAuth, zanim będzie można opublikować dodatek. Więcej informacji znajdziesz w tych przewodnikach:
- Weryfikacja klienta OAuth na potrzeby 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
Niektóre zakresy są ograniczone i podlegają dodatkowym regułom, które pomagają chronić dane użytkownika. Jeśli chcesz opublikować dodatek do Gmaila lub Edytora, który korzysta z co najmniej jednego ograniczonego zakresu, musi on być zgodny ze wszystkimi określonymi ograniczeniami, zanim będzie można go opublikować.
Zanim spróbujesz opublikować aplikację, zapoznaj się z pełną listą zakresów z ograniczeniami. Jeśli Twój dodatek korzysta z jednego z nich, przed opublikowaniem musisz spełnić dodatkowe wymagania dotyczące określonych zakresów interfejsu API.
Wybierz zakresy dla dodatków do Google Workspace
W poniższych sekcjach znajdziesz zakresy, które są często używane w przypadku dodatków do Google Workspace.
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 Dokumenty API. Przyznawanie tymczasowego dostępu do treści otwartego dokumentu. |
Dostęp do bieżących plików Arkuszy |
https://www.googleapis.com/auth/spreadsheets.currentonly
Wymagane, jeśli dodatek uzyskuje dostęp do interfejsu Sheets API w Apps Script. Przyznaje tymczasowy dostęp do zawartości otwartego arkusza kalkulacyjnego. |
Dostęp do bieżącego pliku Prezentacji |
https://www.googleapis.com/auth/presentations.currentonly
Wymagany, jeśli dodatek uzyskuje dostęp do interfejsu Apps Script Slides API. przyznaje tymczasowy dostęp do treś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 |
Gmail
Kilka zakresów zostało utworzonych specjalnie dla Google Workspace Add-ons, aby chronić dane użytkowników Gmaila. Musisz wyraźnie dodać te zakresy do pliku manifestu dodatku wraz z innymi zakresami wymaganymi przez 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 dostępu https://mail.google.com
w rozszerzeniu wąskim zakresem dostępu, który umożliwia interakcje wymagane przez rozszerzenie i tylko te interakcje.
Zakres | |
---|---|
Tworzenie nowych wersji roboczych |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Wymagany, jeśli dodatek używakomponowania wyzwalaczy działań. Umożliwia dodatkowi tymczasowe tworzenie nowych wiadomości i odpowiedzi. Szczegółowe informacje znajdziesz w artykule Tworzenie wiadomości w postaci projektu. 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
Daje tymczasowy dostęp do metadanych otwartej wiadomości (takich jak temat lub adresaci). Nie pozwala na odczytywanie treści wiadomości i wymaga tokena dostępu. Wymagany, jeśli dodatek używa metadanych w działaniach tworzących wyzwalacze. W przypadku działań tworzenia ten zakres jest wymagany, jeśli aktywator tworzenia wymaga 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ą. |
Czytanie otwartych 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. |
Odczytaj treść 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. Daje też dostęp do treści innych wiadomości w otwartym wątku. Wymaga tokena dostępu. |
odczytywać treści i metadane wiadomości; |
https://www.googleapis.com/auth/gmail.readonly
Odczytaj metadane i treść e-maila, w tym otwartą wiadomość. Wymagane, jeśli chcesz odczytać informacje o innych wiadomościach, na przykład podczas wyszukiwania lub czytania całego wątku e-mail. |
Zakresy uprawnień Kalendarza Google
Poniżej znajdziesz często używane zakresy dodatków do Google Workspace, które rozszerzają możliwości Kalendarza Google.
Zakres | |
---|---|
Dostęp do metadanych zdarzenia |
https://www.googleapis.com/auth/calendar.addons.execute
Wymagane, jeśli dodatek ma 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 zdarzeń generowane przez użytkowników.
Umożliwia dodatkowi dostęp do danych zdarzeń generowanych przez użytkowników. Te dane są dostępne tylko wtedy, gdy pole manifestu |
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ń utworzonych przez użytkownika. Te dane są dostępne tylko wtedy, gdy pole manifestu |
Zakresy Dysku Google
Poniżej znajdziesz często używane zakresy uprawnień wtyczek Google Workspace, które rozszerzają Dysk Google.
Zakres | |
---|---|
Odczytywanie metadanych wybranych elementów |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Wymagany, jeśli dodatek implementuje interfejs kontekstowy uruchamiany, gdy użytkownik wybierze elementy w Drive. Umożliwia dodatkowi odczyt ograniczonych metadanych dotyczących elementów wybranych przez użytkownika 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 elementu. |
Dostęp według poszczególnych plików |
https://www.googleapis.com/auth/drive.file
Zalecane, jeśli dodatek musi mieć dostęp do poszczególnych plików na Dysku.
Przyznawanie dostępu do poszczególnych plików utworzonych lub otwartych przez aplikację za pomocą usługi Dysku zaawansowanego skryptu Apps Script. Nie można jednak wykonywać podobnych działań za pomocą podstawowej usługi Dysku. Autoryzacja plików jest przyznawana oddzielnie dla każdego pliku i jest unieważniana, gdy użytkownik cofnie autoryzację aplikacji. |
Tokeny dostępu
Aby chronić dane użytkowników, zakresy 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ć funkcję GmailApp.setCurrentMessageAccessToken(accessToken)
, używając tokena dostępu jako argumentu. Musisz uzyskać token dostępu z obiektu zdarzenia działania.
Poniżej znajdziesz przykład ustawienia tokena dostępu, aby umożliwić dostęp do metadanych wiadomości. Jedyny zakres niezbędny w tym przykładzie to 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();
}
Inne zakresy uprawnień Google Workspace
Jeśli dodatek korzysta z innych usług Google Workspace lub 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 automatyczne aktualizowanie pliku manifestu. Podczas edytowania listy zakresów w pliku manifestu nie usuwaj żadnych zakresów, chyba że zastąpisz je bardziej odpowiednią opcją, na przykład węższym zakresem.
W tabeli poniżej znajdziesz listę zakresów, których często używają dodatki 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
Umożliwia projektowi wysyłanie żądań |
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. Więcej informacji znajdziesz w artykule Uzyskiwanie dostępu do ustawień regionalnych i strefy czasowej użytkownika. |
Utworzenie reguł. |
https://www.googleapis.com/auth/script.scriptapp
Umożliwia projektowi tworzenie aktywatorów. |
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 znajdziesz w artykule Wyświetlanie podglądów linków za pomocą elementów inteligentnych. |
Tworzenie zasobów innych firm |
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 znajdziesz w artykule Tworzenie zasobów innych firm za pomocą menu @. |