Ten dokument zawiera informacje o autoryzacji i uwierzytelnianiu w interfejsie Google Drive API. Zanim przeczytasz ten dokument, zapoznaj się z ogólnymi informacjami o uwierzytelnianiu i autoryzacji w Google Workspace, które znajdziesz w artykule Uwierzytelnianie i autoryzacja.
Konfigurowanie OAuth 2.0 na potrzeby autoryzacji
Skonfiguruj ekran zgody OAuth i wybierz zakresy, aby określić, jakie informacje będą wyświetlane użytkownikom i osobom weryfikującym aplikację, oraz zarejestruj aplikację, aby móc ją później opublikować.
Zakresy interfejsu Drive API
Aby określić poziom dostępu przyznany aplikacji, musisz zidentyfikować i zadeklarować zakresy autoryzacji. Zakres autoryzacji to ciąg znaków URI OAuth 2.0, który zawiera nazwę aplikacji Google Workspace, rodzaj danych, do których ma ona dostęp, oraz poziom dostępu. Zakresy to żądania aplikacji dotyczące pracy z danymi Google Workspace, w tym z danymi kont Google użytkowników.
Gdy aplikacja zostanie zainstalowana, użytkownik jest proszony o potwierdzenie zakresów używanych przez aplikację. Zazwyczaj należy wybrać jak najwęższy zakres i unikać żądania zakresów, których aplikacja nie potrzebuje. Użytkownicy chętniej przyznają dostęp do ograniczonych, jasno opisanych zakresów.
W miarę możliwości zalecamy używanie zakresów nieobejmujących informacji poufnych, ponieważ przyznają one zakres dostępu do poszczególnych plików i ograniczają dostęp do konkretnych funkcji potrzebnych aplikacji.
Interfejs Drive API obsługuje te zakresy:
Kod zakresu | Opis | Wykorzystanie |
---|---|---|
https://www.googleapis.com/auth/drive.appdata |
Wyświetlanie na Dysku Google danych konfiguracyjnych tej aplikacji i zarządzanie nimi. | Zalecane Dane niewrażliwe |
https://www.googleapis.com/auth/drive.install |
Zezwalaj aplikacjom na pojawianie się jako opcja w menu „Otwórz za pomocą” lub „Nowy”. | Zalecane Dane niewrażliwe |
https://www.googleapis.com/auth/drive.file |
tworzyć nowe pliki na Dysku lub modyfikować istniejące pliki otwierane w aplikacji lub udostępniane jej przez użytkownika podczas korzystania z interfejsu Google Picker API lub selektora plików aplikacji; | Zalecane Dane niewrażliwe |
https://www.googleapis.com/auth/drive.apps.readonly |
Wyświetl aplikacje, które mają dostęp do Twojego Dysku. | Poufne |
https://www.googleapis.com/auth/drive |
wyświetlać wszystkie pliki na Dysku i zarządzać nimi; | Z ograniczeniem |
https://www.googleapis.com/auth/drive.readonly |
wyświetlać i pobierać wszystkie pliki na Dysku; | Z ograniczeniem |
https://www.googleapis.com/auth/drive.activity |
Wyświetlanie i uzupełnianie rejestru działań na plikach na Dysku. | Z ograniczeniem |
https://www.googleapis.com/auth/drive.activity.readonly |
Wyświetlanie rejestru działań na plikach na Dysku. | Z ograniczeniem |
https://www.googleapis.com/auth/drive.meet.readonly |
Wyświetlanie plików na Dysku utworzonych lub edytowanych w Google Meet. | Z ograniczeniem |
https://www.googleapis.com/auth/drive.metadata |
Wyświetlanie metadanych plików na Dysku i zarządzanie nimi. | Z ograniczeniem |
https://www.googleapis.com/auth/drive.metadata.readonly |
Wyświetlaj metadane plików na Dysku. | Z ograniczeniem |
https://www.googleapis.com/auth/drive.scripts |
Modyfikowanie zachowania skryptów Google Apps Script. | Z ograniczeniem |
Kolumna Użycie w tabeli powyżej wskazuje poziom wrażliwości każdego zakresu zgodnie z tymi definicjami:
Zalecane / nieobejmujące danych wrażliwych: te zakresy zapewniają najmniejszy zakres dostępu do autoryzacji i wymagają tylko podstawowej weryfikacji aplikacji. Więcej informacji o tym wymaganiu znajdziesz w sekcji Wymagania dotyczące weryfikacji.
Zalecane / wrażliwe: te zakresy zapewniają dostęp do określonych danych użytkownika Google, które zostały autoryzowane przez użytkownika na potrzeby Twojej aplikacji. Wymagają one dodatkowej weryfikacji aplikacji. Więcej informacji o tym wymaganiu znajdziesz w artykule Wymagania dotyczące zakresu o charakterze kontrowersyjnym i ograniczonym.
Zakresy z ograniczeniami: zapewniają szeroki dostęp do danych użytkowników Google i wymagają przejścia procesu weryfikacji zakresów z ograniczeniami. Więcej informacji o tym wymaganiu znajdziesz w zasadach dotyczących danych użytkownika w usługach interfejsu API Google i dodatkowych wymaganiach dotyczących zakresów interfejsu API. Jeśli przechowujesz dane z zakresów z ograniczeniami na serwerach (lub je przesyłasz), musisz przejść ocenę zabezpieczeń.
Jeśli Twoja aplikacja wymaga dostępu do innych interfejsów API Google, możesz też dodać te zakresy. Więcej informacji o zakresach interfejsów API Google znajdziesz w artykule Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google.
Więcej informacji o poszczególnych zakresach OAuth 2.0 znajdziesz w artykule Zakresy OAuth 2.0 dla interfejsów API Google.
Gdzie deklarować zakresy
Interfejs Drive API wymaga zakresów zarówno w konsoli Google Cloud, jak i podczas inicjowania interfejsu API w kodzie.
W konsoli Google Cloud musisz zadeklarować zakresy, których potrzebuje Twoja aplikacja, w konfiguracji ekranu zgody OAuth. Jest to najwyższy poziom uprawnień, o który może poprosić Twoja aplikacja. Jest to formalna prośba do Google, a zadeklarowane zakresy to te, które Google wyświetla użytkownikom na ekranie zgody. Dzięki temu użytkownik może dokładnie sprawdzić, do jakich danych i działań aplikacja chce uzyskać dostęp. Więcej informacji znajdziesz w artykule Konfigurowanie ekranu zgody OAuth i wybieranie zakresów.
W kodzie podczas inicjowania interfejsu API musisz wyraźnie poprosić o zakresy, których potrzebujesz w danej sesji. Konsola Google Cloud określa najwyższy poziom uprawnień, o które może prosić Twoja aplikacja, ale to kod określa rzeczywiste uprawnienia danego użytkownika. Dzięki temu aplikacja będzie prosić tylko o uprawnienia potrzebne do wykonania określonego zadania.
Oceń wszystkie zakresy interfejsu Drive API i poproś tylko o najbardziej szczegółowe zakresy wymagane przez funkcje aplikacji. Użytkownicy chętniej przyznają dostęp do ograniczonych, jasno opisanych zakresów.
Jak deklarować zakresy w kodzie
W kodzie aplikacji możesz zadeklarować jednocześnie jeden lub więcej zakresów OAuth jako tablicę. Poniższy przykładowy kod pokazuje, jak zadeklarować wiele zakresów OAuth:
Java
List<String> SCOPES = Arrays.asList(
DriveScopes.DRIVE_FILE,
DriveScopes.DRIVE_METADATA_READONLY
);
Python
SCOPES = [
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata.readonly",
]
Node.js
const SCOPES = [
'https://www.googleapis.com/auth/drive.file',
'https://www.googleapis.com/auth/drive.metadata.readonly'
];
Weryfikacja OAuth
Korzystanie z niektórych zakresów OAuth może wymagać przejścia przez Centrum pomocy dotyczące weryfikacji aplikacji OAuth. Przeczytaj najczęstsze pytania dotyczące aplikacji OAuth, aby dowiedzieć się, kiedy aplikacja powinna przejść weryfikację i jakiego typu weryfikacja jest wymagana. Zobacz też Warunki korzystania z usługi Dysk Google.
Kiedy używać zakresu z ograniczeniami
W przypadku Dysku dostęp do zakresów z ograniczeniami mogą mieć tylko te typy aplikacji:
- Aplikacje internetowe i na poszczególne platformy, które zapewniają lokalną synchronizację lub automatyczną kopię zapasową plików użytkowników na Dysku.
- Aplikacje zwiększające produktywność i aplikacje edukacyjne, których interfejs użytkownika może wymagać interakcji z plikami na Dysku (lub ich metadanymi lub uprawnieniami). Aplikacje zwiększające produktywność obejmują aplikacje do zarządzania zadaniami, robienia notatek, komunikacji w grupach roboczych i współpracy w klasie.
- Aplikacje do raportowania i zabezpieczeń, które dostarczają użytkownikom lub klientom informacji o sposobach udostępniania plików lub uzyskiwania do nich dostępu.
Aby nadal korzystać z ograniczonych zakresów, przygotuj aplikację do weryfikacji pod kątem ograniczonych zakresów.
Migracja istniejącej aplikacji z zakresów z ograniczeniami
Jeśli aplikacja na Dysku została opracowana z użyciem jednego z zakresów objętych ograniczeniami, zalecamy przeniesienie jej na zakres nieobjęty ograniczeniami, ponieważ przyznaje on zakres dostępu do poszczególnych plików i ogranicza dostęp do konkretnych funkcji potrzebnych aplikacji. Wiele aplikacji działa z zakresem dostępu do poszczególnych plików bez żadnych zmian. Jeśli używasz własnego selektora plików, zalecamy przejście na interfejs Google Picker API, który w pełni obsługuje różne zakresy.
Korzyści z zakresu protokołu OAuth dla plików na Dysku
Używanie zakresu OAuth drive.file
i interfejsu Google Picker API optymalizuje zarówno wygodę użytkownika, jak i bezpieczeństwo aplikacji.
drive.file
Zakres OAuth umożliwia użytkownikom wybór plików, które chcą udostępnić aplikacji. Zapewnia to większą kontrolę i pewność, że dostęp aplikacji do plików jest ograniczony i bezpieczniejszy. Z kolei wymaganie szerokiego dostępu do wszystkich plików na Dysku może zniechęcić użytkowników do korzystania z aplikacji. Oto kilka powodów, dla których warto używać zakresu drive.file
:
Łatwość użycia: zakres
drive.file
działa ze wszystkimi zasobami REST interfejsu Drive API, co oznacza, że możesz go używać w taki sam sposób jak szerszych zakresów OAuth.Funkcje: interfejs Google Picker API jest podobny do interfejsu Dysku. Obejmuje to kilka widoków z podglądami i miniaturami plików na Dysku oraz okno modalne w tekście, dzięki czemu użytkownicy nigdy nie opuszczają głównej aplikacji.
Wygoda: aplikacje mogą stosować filtry do określonych typów plików na Dysku (takich jak Dokumenty i Arkusze Google oraz zdjęcia) podczas filtrowania plików w selektorze Google.
Poza tym drive.file
nie zawiera informacji wrażliwych, co pozwala na bardziej usprawniony proces weryfikacji.
Zapisywanie tokenów odświeżania
Zapisuj tokeny odświeżania w bezpiecznej pamięci długoterminowej i używaj ich tak długo, jak są ważne.