Dieses Dokument enthält spezifische Autorisierungs- und Authentifizierungsinformationen für die Google Drive API. Bevor Sie dieses Dokument lesen, sollten Sie sich die allgemeinen Informationen zur Authentifizierung und Autorisierung von Google Workspace unter Informationen zur Authentifizierung und Autorisierungansehen.
OAuth 2.0 für die Autorisierung konfigurieren
Um Ihre App zu autorisieren, müssen Sie für die Google Drive API OAuth-Bereiche an zwei Stellen definieren: in der Google Cloud Console und in Ihrer App.
In der Google Cloud Console müssen Sie die Bereiche deklarieren, die Ihre App benötigt, und zwar in der Konfiguration des OAuth-Zustimmungsbildschirms. Dies sind die höchsten Berechtigungen, die Ihre App jemals anfordern kann. Dies dient als formelle Anfrage an Google. Die deklarierten Bereiche werden den Nutzern auf dem Zustimmungsbildschirm angezeigt. So können Nutzer genau sehen, auf welche Daten und Aktionen Ihre App Zugriff anfordert.
Konfigurieren Sie den OAuth-Zustimmungsbildschirm und wählen Sie Bereiche aus um festzulegen, welche Informationen Nutzern und App-Prüfern angezeigt werden. Registrieren Sie Ihre App, damit Sie sie später veröffentlichen können.
Wenn Sie die API in Ihrer App initiieren, müssen Sie explizit die spezifischen Bereiche anfordern, die Sie für diese Sitzung benötigen. In der Google Cloud Console wird die höchste Berechtigungsstufe definiert, die Ihre App anfordern darf. Der Code bestimmt die tatsächlichen Berechtigungen für einen bestimmten Nutzer. So wird sichergestellt, dass die App nur die Berechtigungen anfordert, die für eine bestimmte Aufgabe erforderlich sind.
Sie können im Code Ihrer App ein oder mehrere OAuth-Bereiche gleichzeitig als Array deklarieren.
Das folgende Codebeispiel zeigt, wie Sie mehrere OAuth-Bereiche deklarieren:
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'
];
Wie Bereiche in einem vollständigen Codebeispiel deklariert und verwendet werden, erfahren Sie in den Kurzanleitungen.
Drive API-Bereiche
Um die Zugriffsebene zu definieren, die Ihrer App gewährt wird, müssen Sie Autorisierungsbereiche identifizieren und deklarieren. Ein Autorisierungsbereich ist ein OAuth 2.0-URI-String, der den Namen der Google Workspace-App, die Art der Daten, auf die sie zugreift, und die Zugriffsebene enthält. Bereiche sind die Anfragen Ihrer App, mit Google Workspace-Daten zu arbeiten, einschließlich der Google-Kontodaten von Nutzern.
Wenn Ihre App installiert wird, werden Nutzer aufgefordert, die von der App verwendeten Bereiche zu bestätigen. Im Allgemeinen sollten Sie den möglichst eng gefassten Bereich auswählen und keine Bereiche anfordern, die Ihre App nicht benötigt. Nutzer gewähren eher Zugriff auf eingeschränkte, klar beschriebene Bereiche.
Verwenden Sie nach Möglichkeit nicht vertrauliche Bereiche, da sie Zugriff auf einzelne Dateien gewähren und den Zugriff auf bestimmte Funktionen einschränken, die von einer App benötigt werden.
Nicht vertrauliche Bereiche
Die folgenden Drive API-Bereiche werden für die meisten Anwendungsfälle empfohlen:
| Bereichscode | Beschreibung |
|---|---|
https://www.googleapis.com/auth/drive.appdata |
Eigene Konfigurationsdaten der App in Google Drive abrufen und verwalten |
https://www.googleapis.com/auth/drive.install |
Apps als Option im Menü „Öffnen mit“ oder „Neu“ auflisten |
https://www.googleapis.com/auth/drive.file |
Neue Drive-Dateien erstellen oder vorhandene Dateien ändern, die Sie mit einer App öffnen oder die der Nutzer bei Verwendung der Google Picker API oder der Dateiauswahl der App für eine App freigibt |
Vertrauliche Bereiche
| Bereichscode | Beschreibung |
|---|---|
https://www.googleapis.com/auth/drive.apps.readonly |
Apps abrufen, die auf Ihr Drive zugreifen dürfen |
Eingeschränkte Bereiche
| Bereichscode | Beschreibung |
|---|---|
https://www.googleapis.com/auth/drive |
Alle Drive-Dateien abrufen und verwalten |
https://www.googleapis.com/auth/drive.readonly |
Alle Drive-Dateien abrufen und herunterladen |
https://www.googleapis.com/auth/drive.activity |
Den Aktivitätsverlauf von Dateien in Drive abrufen und ergänzen |
https://www.googleapis.com/auth/drive.activity.readonly |
Den Aktivitätsverlauf von Dateien in Drive abrufen |
https://www.googleapis.com/auth/drive.meet.readonly |
In Google Meet erstellte oder bearbeitete Drive-Dateien abrufen |
https://www.googleapis.com/auth/drive.metadata |
Metadaten von Dateien in Drive abrufen und verwalten |
https://www.googleapis.com/auth/drive.metadata.readonly |
Metadaten für Dateien in Drive abrufen |
https://www.googleapis.com/auth/drive.scripts |
Das Verhalten der Google Apps Script-Skripte ändern |
Die Bereiche in den vorherigen Tabellen geben ihre Vertraulichkeit gemäß den folgenden Definitionen an:
Nicht vertraulich: Diese Bereiche bieten den kleinsten Autorisierungsbereich und erfordern nur die grundlegende OAuth-App Überprüfung. Weitere Informationen finden Sie unter Voraussetzungen für die Bestätigung.
Vertraulich: Diese Bereiche ermöglichen den Zugriff auf bestimmte Google-Nutzerdaten, die Nutzer für Ihre App autorisieren. Sie erfordern eine zusätzliche OAuth-App Überprüfung. Weitere Informationen finden Sie unter Voraussetzungen für vertrauliche und eingeschränkte Bereiche.
Eingeschränkt: Diese Bereiche ermöglichen einen umfassenden Zugriff auf Google-Nutzerdaten und erfordern eine OAuth-App-Überprüfung für eingeschränkte Bereiche. Weitere Informationen finden Sie in der Nutzerdatenrichtlinie für Google API-Dienste und unter Zusätzliche Anforderungen für bestimmte API-Bereiche. Weitere Informationen finden Sie in den Google Drive-Nutzungsbedingungen.
Wenn Sie Daten mit eingeschränkten Bereichen auf Servern speichern oder übertragen, müssen Sie eine Sicherheitsprüfung durchlaufen.
Wenn Ihre App Zugriff auf andere Google APIs benötigt, können Sie diese Bereiche ebenfalls hinzufügen. Weitere Informationen zu Google API-Bereichen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.
Weitere Informationen zu bestimmten OAuth 2.0-Bereichen finden Sie unter OAuth 2.0-Bereiche für Google APIs.
Voraussetzungen für eingeschränkte Bereiche
Nur bestimmte Anwendungstypen dürfen eingeschränkte Bereiche für Google Drive verwenden. Damit Ihre App infrage kommt, muss sie in eine der folgenden Kategorien fallen:
Back-up & Sync: Plattformspezifische und Web-Apps, die eine lokale Synchronisierung oder automatische Sicherung der Drive-Dateien von Nutzern ermöglichen.
Produktivität und Bildung: Apps mit einer primären Benutzeroberfläche, die möglicherweise die Interaktion mit Drive-Dateien, ‑Metadaten oder Berechtigungen beinhaltet. Zu diesen Apps gehören Apps für die Aufgabenverwaltung, Notizen, die Zusammenarbeit in Arbeitsgruppen und den Unterricht.
Berichte und Sicherheit: Apps, die Nutzern oder Kunden Einblicke in die Freigabe oder den Zugriff auf Dateien geben.
Vorhandene App von eingeschränkten Bereichen migrieren
Wenn Ihre Drive-App eingeschränkte Bereiche verwendet, empfehlen wir die Migration zu einem nicht vertraulichen Drive API-Bereich. Die Verwendung nicht vertraulicher Bereiche wie drive.file gewährt Zugriff auf einzelne Dateien und schränkt den Zugriff auf bestimmte Funktionen ein, die von einer App benötigt werden.
Viele Apps können ohne Änderungen auf den Zugriff auf einzelne Dateien umgestellt werden.
Wenn Sie Ihre eigene Dateiauswahl verwenden, empfehlen wir, zur Google Picker API zu wechseln, die verschiedene Bereiche vollständig unterstützt.
Vorteile des Drive-Dateibereichs
Die Verwendung des OAuth-Bereichs drive.file in Kombination mit der Google Picker API optimiert sowohl die Nutzerfreundlichkeit als auch die Sicherheit Ihrer App.
Mit dem OAuth-Bereich drive.file können Nutzer auswählen, welche Dateien sie für Ihre App freigeben möchten. Das gibt ihnen mehr Kontrolle und Vertrauen, dass der Zugriff Ihrer App auf ihre Dateien begrenzt und sicherer ist. Im Gegensatz dazu könnte ein umfassender Zugriff auf alle Drive-Dateien Nutzer davon abhalten, mit Ihrer App zu interagieren.
Hier sind einige Gründe, warum Sie den Bereich drive.file verwenden sollten:
Nutzerfreundlichkeit: Der Bereich
drive.filefunktioniert mit allen Drive API REST-Ressourcen. Sie können ihn also genauso verwenden wie umfassendere OAuth-Bereiche.Funktionen: Die Google Picker API bietet eine ähnliche Benutzeroberfläche wie die Drive-Benutzeroberfläche. Dazu gehören mehrere Ansichten mit Vorschauen und Thumbnails von Drive-Dateien sowie ein modales Inline-Fenster, sodass Nutzer die Haupt-App nicht verlassen müssen.
Komfort: Apps können Filter für bestimmte Drive Dateitypen (z. B. Google Docs, Google Tabellen und Fotos) anwenden, wenn sie einen Filter auf Google Picker Dateien verwenden.
Einfache Überprüfung: Da
drive.filenicht vertraulich ist, ist der Überprüfungsprozess einfacher.
Aktualisierungstokens sicher speichern
Um mit der Drive API auf private Daten zuzugreifen, muss Ihre App ein Zugriffstoken abrufen, das Zugriff auf diese API gewährt. Ein einzelnes Zugriffstoken kann unterschiedliche Zugriffsebenen auf mehrere APIs gewähren, je nach den von Ihnen angeforderten Bereichen.
Da Zugriffstokens nur eine kurze Lebensdauer haben, müssen Sie Aktualisierungstokens für den langfristigen Zugriff auf die Drive API verwenden. Mit einem Aktualisierungstoken kann Ihre App neue Zugriffstokens anfordern.
Speichern Sie Aktualisierungstokens in einem sicheren, langfristigen Speicher und verwenden Sie sie weiter, solange sie gültig sind.
Weitere Informationen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.
Weitere Informationen
- Eine Übersicht über die Authentifizierung und Autorisierung in Google Workspace finden Sie unter Informationen zur Authentifizierung und & Autorisierung.
- Eine Übersicht über die Authentifizierung und Autorisierung in Google Cloud finden Sie unter Authentifizierung.
- Weitere Informationen zu Dienstkonten finden Sie unter Service accounts.
- Hilfe zur Fehlerbehebung finden Sie unter Fehler beheben.