Die ersten 100 Dateien anzeigen & Ordner in Google Drive

Die ersten 100 Dateien anzeigen und Ordner in Google Drive

Informationen zu diesem Codelab

subjectZuletzt aktualisiert: Juni 25, 2021
account_circleVerfasst von A Googler (Aug 2017; updated Apr 2021)

1. Google Workspace APIs verwenden

In diesem Codelab lernen Sie die HTTP-basierten RESTful APIs von Google Workspace (ehemals G Suite) kennen. Das Beispiel wird aus Gründen der Kürze und Verfügbarkeit in Python erstellt, Sie können aber auch Ihre bevorzugte Entwicklungssprache verwenden. Du erhältst einführende Informationen, z. B. wie du mit der Developer Console Projekte erstellst und verwaltest, wie du Anmeldedaten erhältst und API-Clientbibliotheken installierst. Wenn Sie die Formalitäten erledigen, entwickeln Sie eine App, die die ersten 100 Dateien und Ordner in Google Drive mithilfe der zugehörigen API erstellen.

Lerninhalte

  • Projekt über die Google/Cloud Developers Console erstellen
  • Erhalten und OAuth2-Anwendungsanmeldedaten in Ihrer Anwendung verwenden
  • Weitere Informationen zur Verwendung der Clientbibliotheken für Google APIs
  • Anwendungen mit Google & Google Workspace-APIs
  • Mit der Google Drive API Informationen zu Dateien und Ordnern abrufen

Voraussetzungen

  • Zugriff auf das Internet und einen Webbrowser
  • Ein Google-Konto (Google Workspace-Konten erfordern möglicherweise die Genehmigung eines Administrators)
  • Vertrautheit mit POSIX-kompatiblen Systemen wie Linux und Mac OS X
  • Möglichkeit, Quelldateien entweder mit einem Code-Editor oder mit Shell-Befehlen zu erstellen.
  • Grundkenntnisse in Python (2 oder 3), Sie können aber jede unterstützte Sprache verwenden.
  • Einige Dateien und/oder Ordner in Google Drive

2. Umfrage

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Wie möchten Sie dieses Codelab-Tutorial verwenden?

Wie würden Sie Ihre Erfahrungen mit den Google Workspace-Entwicklertools und APIs?

3. Übersicht

In diesem Codelab lernen Sie Folgendes:

  1. Google APIs-Clientbibliothek für Python herunterladen
  2. Neues Projekt in der Google/Cloud Developers Console erstellen
  3. Erforderliche Anmeldedaten für Ihre App abrufen
  4. Verwenden Sie diese Anmeldedaten, um auf die Google Drive API zuzugreifen

Wenn Sie Python lieber nicht verwenden möchten, können Sie das Codelab in Ihrem bevorzugten Entwicklungstool implementieren (die Clientbibliotheken der unterstützten Sprachen finden Sie hier) und die Python-Beispiele einfach als (ausführbaren) Pseudocode zu verweisen.

4. Python-Umgebung bestätigen

Für dieses Codelab müssen Sie die Sprache Python verwenden (obwohl von den Google APIs-Clientbibliotheken viele Sprachen unterstützt werden). Sie können also in Ihrem bevorzugten Entwicklungstool etwas Äquivalentes erstellen und Python einfach als Pseudocode verwenden. Dieses Codelab unterstützt insbesondere Python 2 und 3. Wir empfehlen jedoch, so schnell wie möglich auf Version 3.x umzusteigen.

Cloud Shell ist für Nutzer direkt über die Cloud Console verfügbar und erfordert keine lokale Entwicklungsumgebung. Daher kann diese Anleitung vollständig in der Cloud über einen Webbrowser durchgeführt werden. Cloud Shell ist besonders nützlich, wenn Sie GCP-Produkte und -Produkte sowie APIs Genauer gesagt sind für dieses Codelab bereits beide Versionen von Python in Cloud Shell vorinstalliert.

In Cloud Shell ist auch IPython installiert. Es ist ein interaktiver Python-Interpreter auf höherer Ebene, den wir empfehlen, insbesondere wenn Sie Teil der Data Science- oder Machine Learning-Community sind. Falls ja, ist IPython der Standard-Interpreter für Jupyter Notebooks sowie für Colab, Jupyter Notebooks, die von Google Research gehostet werden.

IPython bevorzugt zuerst einen Python 3-Interpreter, greift jedoch auf Python 2 zurück, wenn 3.x nicht verfügbar ist. IPython kann über Cloud Shell aufgerufen werden, kann aber auch in einer lokalen Entwicklungsumgebung installiert werden. Beenden Sie den Vorgang mit ^D (Strg-d) und akzeptieren Sie das Angebot. Die Beispielausgabe für den Start von ipython sieht so aus:

$ ipython
Python 3.7.3 (default, Mar 4 2020, 23:11:43)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

Wenn Sie IPython nicht bevorzugen, können Sie einen standardmäßigen interaktiven Python-Interpreter (entweder Cloud Shell oder Ihre lokale Entwicklungsumgebung) verwenden. Sie können den Vorgang auch mit ^D beenden:

$ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
$ python3
Python 3.7.3 (default, Mar 10 2020, 02:33:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Im Codelab wird außerdem davon ausgegangen, dass Sie das pip-Installationstool (Python-Paketmanager und Abhängigkeits-Resolver) haben. Es ist in den Versionen 2.7.9 und höher bzw. 3.4 und höher enthalten. Wenn Sie eine ältere Python-Version verwenden, finden Sie die Installationsanweisungen in dieser Anleitung. Je nach Ihren Berechtigungen benötigen Sie möglicherweise sudo- oder Superuser-Zugriff. Das ist jedoch in der Regel nicht der Fall. Sie können auch explizit pip2 oder pip3 verwenden, um pip für bestimmte Python-Versionen auszuführen.

Im restlichen Codelab wird davon ausgegangen, dass Sie Python 3 verwenden. Für Python 2 werden spezifische Anweisungen bereitgestellt, wenn sie sich deutlich von 3.x unterscheiden.

*Virtuelle Umgebungen erstellen und verwenden

Dieser Abschnitt ist optional und nur für Nutzer erforderlich, die für dieses Codelab eine virtuelle Umgebung verwenden müssen (siehe Seitenleiste oben). Wenn auf Ihrem Computer nur Python 3 installiert ist, können Sie einfach den folgenden Befehl ausführen, um eine virtuelle Umgebung namens my_env zu erstellen. Sie können bei Bedarf auch einen anderen Namen wählen:

virtualenv my_env

Wenn Sie jedoch sowohl Python 2 als auch 3 auf Ihrem Computer installieren, empfehlen wir Ihnen, eine Python 3-Umgebung zu installieren, die Sie mit dem -p flag so verwenden können:

virtualenv -p python3 my_env

Geben Sie die neu erstellte Virtualsuche ein, indem Sie „aktivieren“ so:

source my_env/bin/activate

Prüfen Sie, ob Sie sich in der Umgebung befinden. Sehen Sie dazu nach, ob Ihrer Shell-Eingabeaufforderung jetzt der Name Ihrer Umgebung vorangestellt ist, z. B.

(my_env) $ 

Jetzt sollten Sie in der Lage sein, alle erforderlichen Pakete mit pip install zu versehen, Code innerhalb dieser Datei auszuführen usw. Ein weiterer Vorteil ist, dass Sie die gesamte Umgebung sprengen können, ohne den Rest Ihres Systems zu beeinträchtigen.

5. Google APIs-Clientbibliothek für Python installieren

Für dieses Codelab ist die Google API-Clientbibliothek für Python erforderlich. Die Installation ist daher einfach oder du musst gar nichts tun.

Wir haben Ihnen bereits die Verwendung von Cloud Shell empfohlen. Sie können die gesamte Anleitung über einen Webbrowser in der Cloud durcharbeiten. Ein weiterer Grund für die Verwendung von Cloud Shell ist, dass viele gängige Entwicklertools und notwendige Bibliotheken bereits vorinstalliert sind.

*Clientbibliotheken installieren

(optional) Dieser Schritt kann übersprungen werden, wenn Sie Cloud Shell oder eine lokale Umgebung verwenden, in der Sie bereits die Clientbibliotheken installiert haben. Dies ist nur erforderlich, wenn Sie lokal entwickeln und diese noch nicht installiert haben oder nicht sicher sind. Am einfachsten ist es, die Installation mit pip (oder pip3) durchzuführen (einschließlich der Aktualisierung von pip selbst, falls erforderlich):

pip install -U pip google-api-python-client oauth2client

Installation bestätigen

Mit diesem Befehl werden die Clientbibliothek sowie alle davon abhängigen Pakete installiert. Unabhängig davon, ob Sie Cloud Shell oder Ihre eigene Umgebung verwenden, prüfen Sie, ob die Clientbibliothek installiert ist. Importieren Sie dazu die erforderlichen Pakete und achten Sie darauf, dass keine Importfehler (keine Ausgabe) vorliegen:

python3 -c "import googleapiclient, httplib2, oauth2client"

Wenn Sie stattdessen Python 2 (über Cloud Shell) verwenden, erhalten Sie eine Warnung, dass die Unterstützung dafür eingestellt wurde:

*******************************************************************************
Python 2 is deprecated. Upgrade to Python 3 as soon as possible.
See https://cloud.google.com/python/docs/python2-sunset

To suppress this warning, create an empty ~/.cloudshell/no-python-warning file.
The command will automatically proceed in seconds or on any key.
*******************************************************************************

Sobald Sie den Import „test“ ausführen können, erfolgreich ausgeführt (keine Fehler/Ausgabe) haben, können Sie mit Google APIs kommunizieren.

Zusammenfassung

Da es sich um ein einführendes Codelab handelt, gehen wir davon aus, dass Sie Google und Google Workspace APIs noch nicht kennen. Sie haben bereits Erfahrung mit dem Erstellen von Projekten und dem Erstellen der Nutzerautorisierung „OAuth-Client-IDs“. Falls ja, erstellen Sie ein Projekt oder verwenden Sie ein vorhandenes Projekt oder verwenden Sie eine vorhandene OAuth-Client-ID oder verwenden Sie eine vorhandene OAuth-Client-ID. Überspringen Sie die nächsten beiden Module und gehen Sie direkt zu „Meine Drive-Dateien anzeigen und Ordner-Anwendung“ oder gehen Sie direkt zu „Erweiterte Verwendung der Devconsole“, um diese Schritte mit weniger Anleitungen durchzugehen.

6. Projekt in der Cloud Console angeben

Für eine Anwendung, die Google APIs verwendet, ist ein Projekt erforderlich. Diese werden in der Google Cloud Developers Console oder einfach in der „devconsole“ verwaltet. Da wir in diesem Codelab nur die Google Drive API verwenden, haben wir einen Magic Link (siehe Schritt 1 unten), der:

  • Sie gelangen zur DevConsole
  • Anleitungen zum Erstellen eines neuen Projekts (oder der Auswahl eines vorhandenen Projekts) und
  • Automatische Aktivierung der Drive API

Lass es tun!

  1. Rufen Sie console.developers.google.com/start/api?id=drive auf und melden Sie sich in Ihrem Google-Konto an.
  2. Wenn Sie noch keine Projekte haben, akzeptieren Sie die Nutzungsbedingungen für Google APIs über diesen Bildschirm:

e3b2076ba58a7cd7.png Sobald Sie die Bedingungen akzeptiert haben, wird ein neues Projekt mit dem Namen „Mein Projekt“ erstellt. erstellt und die Drive API wird automatisch aktiviert. 3. Wenn Sie bereits ein Projekt erstellt haben (vielleicht Ihr vorheriges Codelab), wird stattdessen dieser Bildschirm angezeigt: 50b3b8ace6721f1f.png. Wenn Sie auf das Drop-down-Menü Projekt erstellen klicken, wählen Sie ein vorhandenes Projekt aus oder erstellen Sie ein neues Projekt. 69db3867445ad9e5.png Sobald Sie Ihre Auswahl getroffen haben (neues oder bestehendes Projekt), wird die Drive API automatisch für Sie aktiviert. 4. Dass die Drive API aktiviert wurde, erkennen Sie an dieser Bestätigung: 365e7de1377493bb.png 5. Klicken Sie auf Zu den Anmeldedaten, um mit dem nächsten Schritt fortzufahren.

7. *API-Anfragen autorisieren (Nutzerautorisierung)

Dieser Abschnitt kann übersprungen werden, wenn Sie bereits Anmeldedaten für die Autorisierung von Nutzerkonten erstellt haben und mit dem Vorgang vertraut sind. Sie unterscheidet sich von der Dienstkontoautorisierung, deren Verfahren unterschiedlich ist. Fahren Sie daher unten fort.

Einführung in die Autorisierung (sowie einige Authentifizierungsmethoden)

Damit Sie Anfragen an die APIs senden können, muss Ihre Anwendung über die entsprechende Autorisierung verfügen. Authentifizierung, ein ähnliches Wort, beschreibt Anmeldedaten. Dabei authentifizieren Sie sich, wenn Sie sich mit einem Log-in und einem Passwort in Ihrem Google-Konto anmelden. Passwort. Nach der Authentifizierung legen Sie im nächsten Schritt fest, ob Sie für den Zugriff auf Daten wie Blob-Dateien in Cloud Storage oder auf die privaten Dateien eines Nutzers in Google Drive berechtigt sind (bzw. Ihr Code).

Google APIs unterstützen mehrere Autorisierungstypen. Die am häufigsten verwendete Methode für Nutzer der Google Workspace API ist die Nutzerautorisierung, da die Beispielanwendung in diesem Codelab auf Daten von Endnutzern zugreift. Diese Endnutzer müssen Ihrer App Zugriff auf ihre Daten gewähren. Das bedeutet, dass mit Ihrem Code OAuth2-Anmeldedaten von Nutzerkonten abgerufen werden müssen.

Um OAuth2-Anmeldedaten für die Nutzerautorisierung abzurufen, gehen Sie zurück zum API-Manager und wählen Sie die Option im linken Navigationsbereich:

Y33PZ_rJC1y7NH7Rrvq1kN_WxZ9CppDGJK8tTSaha298Jlm5pMqgnyweIO4oX34fcLy0_VI4gihYu5wpEM_LeJg1iDAFoidhUVyfqJX3QTzODQ_OGjHLXYBxPpUvihCJi9JGwvMREw

Dort werden alle Ihre Anmeldedaten in drei separaten Abschnitten angezeigt:

ComE4qh76dwZbIehkDUm1QawHGia_qVe7w7rkmgbeo_wjWS--kqXCt4_zvm55iy_RXA8dKYKvBxIKazkcYQ8871SA_kNslbvum_n1Ju4k9qJJSMtDhPAnofcvIlqlKm1nu7PBQhmEg

Das erste ist für API-Schlüssel, die zweiten OAuth 2.0-Client-IDs und die letzten OAuth2-Dienstkonten. Wir verwenden das in der Mitte.

Anmeldedaten erstellen

Klicken Sie oben auf der Seite „Anmeldedaten“ auf die Schaltfläche + Anmeldedaten erstellen. Daraufhin wird ein Dialogfeld angezeigt, in dem Sie „OAuth-Client-ID“ auswählen.

C7jTddfrczo3GewPGCxbxX13GawtFc6FGvAPFusPc_IW-tr5M6xgXd1OzOHOUTo86WDa9fXiCITogv9b3wAgOcYM7xS3AmVNaPdTxbAynIe_sia2_x3LEPsBrdbX8NjeI2WaHRioOA

Auf dem nächsten Bildschirm gibt es zwei Aktionen: Konfigurieren Sie den Zustimmungsbildschirm für die Autorisierung Ihrer App. und wählen Sie den Anwendungstyp aus:

El9_aqPQ6Q9hOsOp3JUC5qnCm_A_BVI-oCEfPk_MsvybnWBmC5lT6CtXSoZ7EQoFzrcBEzo4zF9s8CbhXyo0e-eSY3pZ1zg0BRvT0YssMMhbzEG-gP_jiO8v9q9HYTjg-QW5jJ0RDA

Wenn Sie keinen Zustimmungsbildschirm eingerichtet haben, wird die Warnung in der Konsole angezeigt und Sie müssen dies jetzt tun. Wenn Ihr Zustimmungsbildschirm bereits eingerichtet wurde, können Sie diese nächsten Schritte überspringen.

Klicken Sie auf „Zustimmungsbildschirm konfigurieren“. in dem Sie ein "Extern"-Element App (oder „Intern“, wenn Sie Google Workspace [früher „Google Workspace“] sind):

5w-9R6gPvUHFzODZxXy-0GEhL8ZGDGNea3QtMp1FFYDv5DJ_MIDD21NEh3CzI-GKNzy6bkhH7bohxOG8icQTegiWlavOQhQqhSy7K31Ma3YTI9aAP3P-LmTBanPslX1cnjKLVZBi8A

Für die Zwecke dieser Übung spielt es keine Rolle, welche Sie auswählen, da Sie Ihr Codelab-Beispiel nicht veröffentlichen. Die meisten Nutzer werden „Extern“ auswählen um zu einem komplexeren Bildschirm weitergeleitet zu werden, aber Sie müssen nur den Namen ein:

8e9z_RQz8lumYbDIcBvm57_Gpptn9uhrVQHoRzJ01AJNOFmXloDO7Eg3hhzJZZIU2F5rR0MxTCw-oXVFCq683xUwD4O33pXeuFsOMtM8EZhyjDoYc8Kv4hEoaG0Ztq9ePx6De7YmfA

Im Moment benötigen Sie nur einen Anwendungsnamen. Wählen Sie also einen Namen aus, der zu Ihrem Codelab passt, und klicken Sie auf Speichern.

OAuth-Client-ID wird erstellt (Authentifizierung des Nutzerkontos)

Kehren Sie nun zum Tab „Anmeldedaten“ zurück, um eine OAuth2-Client-ID zu erstellen. Hier siehst du eine Vielzahl von OAuth-Client-IDs, die du erstellen kannst:

f8reuhsxOUNLcVrEIyRVsmP_fX_ceIlLvEKql1YHwSPW9jk9Mm9fJ0UlfUoi8eRN3QQXar4xtpo071zj6LSczNN7TYY8zB96Dn6ICZuvCAtjIgJSKdMSlX-ZhMuSWFpxxv661aUemw

Wir entwickeln das Befehlszeilentool Andere. Wählen Sie dieses aus und klicken Sie auf Erstellen. Wählen Sie einen Client-ID-Namen für die App aus, die Sie erstellen, oder verwenden Sie einfach den Standardnamen, der normalerweise "Anderer Client N" lautet.

Anmeldedaten werden gespeichert

  1. Ein Dialogfeld mit den neuen Anmeldedaten wird angezeigt. Klicken Sie zum Schließen auf OK.

rAwekj_GNEuVwGbZOYYlGDQjlu4flE61OPEZIUmwMI5vGi3W365UwVCxi0mVNhg4WZSSczZywrZZ6NDM_U0FJ4b-TOIMEC189uybOJjgn8F_axesVMopel9RlehRBXdEFhN4d41WGQ

  1. Scrollen Sie auf der Seite „Anmeldedaten“ nach unten zu „OAuth2-Client-IDs“. suchen und klicken Sie auf das Downloadsymbol aAmje6kT_xSUM4BKIlPREpjosx7C_xxwpWqBgiGVfVWxQ8nnQOfxTPhuU0QwSnmbjykZffGrqyP1nnKrEQ7D7OqYaGw_Uzscs9gX2RwwP4AmvtHIiTFLa0gkprzJSjG9pQSx7HtmSQ ganz rechts unter Ihrer neu erstellten Client-ID. x-vb-sKZy-X8a1X4uTsBWotSd4wn0PGt4mHMNv6DUrq5J5ihpujUyTiIVr5SHw0p2ZDy0KTP-zqOaFX-Az9BYDWG90KNFmsRLTUOo1mUVk7dYRJiK3VwYJNU0bbxjsbbpqcTr5_oLw
  2. Es wird ein Dialogfeld zum Speichern einer Datei mit dem Namen client_secret-LONG-HASH-STRING.apps.googleusercontent.com.json geöffnet, die wahrscheinlich im Ordner Downloads abgelegt wird. Wir empfehlen, ihn in einen einfacheren Namen wie client_secret.json zu kürzen, der in der Beispiel-App verwendet wird, und ihn dann in dem Verzeichnis/Ordner zu speichern, in dem du die Beispiel-App in diesem Codelab erstellst.

Zusammenfassung

Mit den vorhandenen Anmeldedaten können Sie nun über Ihre App auf die Drive API zugreifen. Der Zweck der OAuth-Client-ID besteht darin, dass Ihre Nutzer Ihrer App Zugriff auf ihre Daten in Google Drive gewähren müssen.

HINWEIS: Weitere Informationen zum Erstellen von Projekten, zum Aktivieren von APIs und zum manuellen Abrufen von Anmeldedaten, d.h. ohne den „Assistenten“ ist nach Abschluss dieses Codelabs zur weiteren Untersuchung verfügbar.

8. Drive-Dateien und Ordner App

Erstellen Sie in Ihrer lokalen Entwicklungsumgebung oder in Cloud Shell im Verzeichnis, in dem sich die Datei mit den client_id.json-Anmeldedaten befindet, eine neue Python-Datei mit dem Namen drive_list.py und fügen Sie die folgenden Codezeilen hinzu:

from __future__ import print_function

from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools

SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
   
flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
   
creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))

files = DRIVE.files().list().execute().get('files', [])
for f in files:
   
print(f['name'], f['mimeType'])

Anwendungsstruktur

Diese Anwendung besteht aus drei Hauptabschnitten:

  1. Python-Importe zur Einbindung von Bibliotheksfunktionen
  2. Anmeldedaten für die Anwendung abrufen
  3. Datei abrufen und Ordnernamen & MIME-Typen im Google Drive-Konto des Nutzers und Display

HINWEIS: Nach Abschluss dieses Codelabs kannst du dich ausführlicher mit dem Code befassen und dir eine detaillierte Erklärung ansehen.

Anwendung ausführen

Geben Sie dieser Datei einen Namen wie drive_list.py. Wenn Sie das Skript zum ersten Mal ausführen, erhält es nicht die Berechtigung, auf die Dateien des Nutzers in Google Drive (Ihre eigenen) zuzugreifen. Die Ausgabe sieht bei angehaltener Ausführung so aus:

$ python3 ./drive_list.py
/usr/local/lib/python3.6/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access storage.json: No such file or directory
 warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Your browser has been opened to visit:
  https://accounts.google.com/o/oauth2/auth?client_id=LONG-STRING.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly.metadata&access_type=offline&response_type=code

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

 --noauth_local_webserver

Aus der lokalen Entwicklungsumgebung

Das Befehlszeilenskript wird angehalten, wenn ein Browserfenster geöffnet wird und das Dialogfeld mit den OAuth2-Berechtigungen angezeigt wird:

c2648f37bcb7a0c1.png

Hier fragt die Anwendung den Nutzer nach den Berechtigungen, die der Code über die Variable SCOPES anfordert. In diesem Fall ist es die Möglichkeit, die Metadaten der Datei aus dem Google Drive-Konto des Nutzers abzurufen. Ja, in Ihrem Code werden diese Berechtigungsbereiche als URIs angezeigt, sie werden jedoch in die Sprache übersetzt, die im Dialogfeld des OAuth2-Vorgangs für Ihre Sprache festgelegt ist. Der Nutzer muss die angeforderte(n) Berechtigung(en) ausdrücklich autorisieren, andernfalls der Ausführungsablauf des Codes löst eine Ausnahme aus und das Skript geht nicht weiter.

HINWEIS: Einige Nutzer verwenden mehrere Browser und die Autorisierungsanfrage wird möglicherweise in einem nicht bevorzugten Browser angezeigt. Kopieren Sie in diesem Fall einfach die gesamte URL aus dem Browserfenster, das Sie nicht verwenden möchten, und fügen Sie sie in die Adressleiste eines Browsers ein, den Sie verwenden möchten.

Von Cloud Shell

Wenn Sie nicht aufgepasst haben und das Programm in Cloud Shell ausgeführt haben, wurde kein Browserfenster geöffnet, sodass Sie hängen blieben. Stellen Sie fest, dass die Diagnosemeldung unten für Sie bestimmt ist... diese Meldung:

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

 --noauth_local_webserver

Wenn Sie sie auf diese Weise ausführen, erhalten Sie stattdessen die folgende Ausgabe:

$ python3 drive_list.py --noauth_local_webserver
/usr/local/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access storage.json: No such file or directory
 warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Go to the following link in your browser:

  https://accounts.google.com/o/oauth2/auth?client_id=xxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly.metadata&access_type=offline&response_type=code

Enter verification code:

Wenn Sie der Anleitung folgen und mit dieser URL zu einem anderen Browsertab wechseln, ist die Oberfläche fast identisch mit der Beschreibung für lokale Entwicklungsumgebungen. Der Hauptunterschied besteht darin, dass am Ende ein weiterer Bildschirm mit dem Bestätigungscode angezeigt wird, den Sie in Cloud Shell eingeben müssen:

f6da2c335fb7c6a.png

Schneide diesen Code aus und füge ihn in das Terminalfenster ein.

Zusammenfassung

Sobald der Nutzer auf „Zulassen“ klickt und/oder den Bestätigungscode in die Aufforderung eingefügt hat, wird die App (weiterhin) ausgeführt und es wird erwartet, dass eine Ausgabe mit Drive-Dateien/-Ordnern und deren MIME-Typen angezeigt wird. Hier ein Beispiel aus einem unserer Testkonten:

$ python3 ./drive_list.py
Travel expenses application/vnd.google-apps.spreadsheet
Gmail Add-ons codelab application/vnd.google-apps.script
Google Workspace Developer Intro application/vnd.google-apps.presentation
Baseball Sheets application/vnd.google-apps.folder
My Resume application/vnd.google-apps.document
  . . .

Beachten Sie bei aufeinanderfolgenden Ausführungen, dass Sie nicht mehr zur Autorisierung aufgefordert werden, da sie von den Authentifizierungsbibliotheken im Cache gespeichert wird, und direkt zur Ausgabe wechseln. Ist es nicht spannend, Ihre Dokumente zum ersten Mal an einem Terminal zu sehen? Wir glauben ja!

9. Fazit

Jetzt können Sie mehr über die Funktionen der Drive API erfahren oder andere Google Workspace-Anwendungen (Gmail, Google Docs, Tabellen, Präsentationen, Kalender) und andere Google APIs (Maps, Analytics, YouTube usw.) kennenlernen. Herzlichen Glückwunsch! Du hast es bis zum Ende geschafft!

Der Code aus diesem Codelab ist auch im GitHub-Repository unter github.com/googlecodelabs/gsuite-apis-intro verfügbar. Wir versuchen, dieses Codelab mit dem Repository synchron zu halten. Wollen wir weitermachen? Unten finden Sie verschiedene Ressourcen, die Ihnen helfen, sich eingehender mit den in diesem Codelab behandelten Inhalten zu befassen oder andere Möglichkeiten zu entdecken, programmatisch auf Google-Technologien zuzugreifen.

Wie bereits angedeutet, empfehlen wir Ihnen, dieses Codelab-Beispiel in Ihrer bevorzugten Entwicklungssprache zu wiederholen, wenn Sie kein regulärer Python-Entwickler sind. Clientbibliotheken für unterstützte Sprachen finden Sie hier.

Zusätzliche Studie

Sie haben sich nun mit der Drive API vertraut gemacht. Im Folgenden finden Sie einige empfohlene Übungen, mit denen Sie Ihre Fähigkeiten weiter ausbauen können:

  1. ZIP-Dateien: Schreiben Sie eine Anwendung, mit der mehrere ZIP-Archive in Drive gesichert werden. Diese werden im Handumdrehen dekomprimiert, sodass jeder ZIP-Dateiname der Name des Ordners ist, in dem die Dateien gespeichert sind. EXTRA CREDIT: Unterstützung rekursiver ZIP-Archive in anderen ZIP-Dateien mit in anderen Ordnern eingebetteten Drive-Ordnern. Wenn Sie aufhören, sehen Sie sich diese Node.js-Beispiel-App an.
  2. Fotoalben: Schreiben Sie den Anfang eines Tools zum Erstellen von Fotoalben, das mehrere Bilder in Google Drive hochlädt und diese in separaten Ordnern nach Zeitstempel und Standortbestimmung. ZUSÄTZLICHE MITTEILUNG: Suchen Sie eine Open-Source-Bibliothek zur Bildbearbeitung und fügen Sie alle Fotos in jedem Ordner zusammen, um Ereignisse zu repräsentieren, die Sie möglicherweise erlebt haben, z. B. eine Reise oder ein Abendessen.
  3. Google Cloud kennenlernen: Schreiben Sie eine Anwendung, die Google Workspace und die Google Cloud Platform (GCP) miteinander verbindet. Schreiben Sie ein Tool, das Bilddateien von Google Drive in Google Cloud Storage (GCS) speichert, einen anderen „Dateispeicher in der Cloud“. Lösung. Ob Sie es glauben oder nicht, die Verwendung von GCS wird aufgrund der erweiterten Clientbibliotheken einfacher sein als die Verwendung von Drive.
  4. Analysieren und Eintrag: Erweitern Sie Ihre Lösung auf Platz 3, indem Sie jedes gesicherte Bild analysieren, indem Sie es an die Google Cloud Vision API übergeben und die drei, fünf, zehn wichtigsten „Labels“ abrufen. was die API in diesen Bildern sieht. Schreiben Sie für jedes Bild eine Zeile in eine Google-Tabelle, die die Analyse von Cloud Vision sowie den in GCS gesicherten Speicherort enthält. Falls Sie doch nicht aufgeben, lesen Sie dieses Python-Codelab.

10. Zusätzliche Ressourcen

Dokumentation

Neuigkeiten & Updates

Weitere Codelabs

Einführung

Fortgeschritten

Erweitert

Referenz-Apps

11. *Ausführliche Erläuterung der Anwendung

Dieser optionale Abschnitt dient zum Selbststudium am Ende der Sitzung, um eventuell aufgetretene Lücken zu schließen oder um weitere Studien durchzuführen.

Python-Importe zur Einbindung von Bibliotheksfunktionen

from __future__ import print_function

from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
  • Mit der ersten import-Anweisung kann dieser Code unter Python 2 ausgeführt werden. Er kann vollständig entfernt werden, wenn Sie ausschließlich Python 3 verwenden.
  • Eine Python-Stilrichtlinie besteht darin, Importe von Standardbibliotheken und Modulen von Drittanbietern zu trennen – dafür dient die Leerzeile.
  • Bei den nächsten drei Importen werden die erforderlichen Klassen und Funktionen aus der Google APIs-Client-Bibliothek... alle werden benötigt, damit wir diese App schreiben können. Kurz gesagt:
  • googleapiclient konzentriert sich auf die Verbindung mit Google APIs
  • httplib2 stellt einen HTTP-Client für die Anwendung bereit
  • oauth2client hilft uns beim Verwalten von OAuth2-Anmeldedaten

Autorisierung und Abrufen von Anmeldedaten für Anwendungen

SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
    creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
  • Die App SCOPES sind die Berechtigungen, die eine App vom Nutzer abfordert, der sie ausführt. Zum Schutz der Nutzerdaten können Apps ohne entsprechende Berechtigung nicht ausgeführt werden
  • Es empfiehlt sich, die restriktivsten Berechtigungen zu verwenden, die Ihre App benötigt. Warum?
  • Ist es nicht ärgerlich, wenn eine App bei der Installation oder Ausführung zahlreiche Berechtigungen anfordert? Weißt du was? Du bist jetzt auf der anderen Seite und bitte deine Nutzer um all diese Berechtigungen. Wenn Sie restriktivere Bereiche verwenden, haben die Nutzer ein besseres Gefühl, Ihre App zu installieren, da Sie weniger Zugriff wünschen.
  • Die meisten Bereiche sehen wie lange URLs aus. Das gilt auch für den Drive-Metadatenbereich.
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
  • Für die Kommunikation von Apps mit Google-Servern ist ein Token erforderlich. Gültige Tokens, die von Google zurückgegeben werden, werden in der Token-Speicherdatei storage.json gespeichert. Wenn Sie diese Tokens nicht speichern, müssen Sie Ihre App bei jeder Ausführung neu autorisieren.
store = file.Storage('storage.json')
  • Diese App prüft zuerst, ob sich bereits gültige Anmeldedaten im Speicher befinden (siehe Bedingung für die if-Anweisung).
creds = store.get()
if not creds or creds.invalid:
  • Wenn Sie keine oder abgelaufene Anmeldedaten haben, muss ein neuer Autorisierungsablauf [über oauth2client.client.flow_from_clientsecrets()] aus Ihrer OAuth-Client-ID und in der client_id.json-Datei, die Sie heruntergeladen haben].
if not creds or creds.invalid:
    flow
= client.flow_from_clientsecrets('client_id.json', SCOPES)
  • Sobald Ihre App einen Ablauf hat, muss sie ausgeführt werden, um dem Nutzer den OAuth2-Berechtigungsbildschirm [über oauth2client.tools.run_flow()] (wie oben beschrieben und illustriert) anzuzeigen.
    creds = tools.run_flow(flow, store)
  • Durch Klicken auf Zulassen stimmen Nutzer zu, dass Ihre App auf die Metadaten ihrer Google Drive-Dateien zugreifen darf. Die Google-Server geben dann Tokens für den Zugriff auf die API zurück. Sie werden als creds zurückgegeben und in der Datei storage.json im Cache gespeichert.
  • Ihre Anwendung verfügt nun über gültige Anmeldedaten, um API-Aufrufe auszuführen. Durch den Aufruf von googleapiclient.discovery.build() wird ein Dienstendpunkt für die von Ihnen verwendete API erstellt.
  • Um build() zu verwenden, übergeben Sie den API-Namen ('drive') und Gewünschte Version (derzeit 'v3').
  • Der letzte Parameter ist ein HTTP-Client, der für verschlüsselte API-Aufrufe verwendet wird.
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))

Abrufen und die ersten 100 Drive-Dateien/-Ordner anzeigen und MIMEtypes)

files = DRIVE.files().list().execute().get('files', [])
for f in files:
    print(f['name'], f['mimeType'])
  • Die nächste Codezeile ruft die Methode list() in der Sammlung files() für die Drive API auf, um die Anfrage zu erstellen. Diese wird sofort mit execute() aufgerufen. Ein Python-dict wird zurückgegeben, aus dem wir den 'files'-Schlüssel anfordern, um die 100-Datei abzurufen. Ordnernamen aus dem Google Drive-Konto des Nutzers (bzw. weniger, wenn Sie weniger Dateien haben).
  • Warum 100? Das ist die Standardeinstellung von DRIVE.files().list(). Wenn Sie diese Zahl ändern möchten, z. B. auf 10 Dateien oder 1.000, fügen Sie Ihrer Anfrage den Parameter pageSize hinzu: DRIVE.files().list(pageSize=10). Weitere Optionen finden Sie in der Dokumentation.
  • Der letzte Teil des Skripts durchläuft alle Dateien und zeigt deren Namen und -Datei-MIME-Typen.

Sie haben jetzt Ihre erste Anwendung geschrieben, die eine Google REST API verwendet. Herzlichen Glückwunsch! Abgesehen vom Import- und Autorisierungscode besteht dieses Skript im Grunde aus nur wenigen Codezeilen (wie Sie oben sehen). Die meisten Google APIs funktionieren ähnlich und Sie müssen nur für jeden Dienst, den Sie verwenden möchten, Dienstendpunkte erstellen.

Mehrere Google APIs in einer App verwenden

Ja, Sie können in einer App mehrere APIs verwenden. Hier ist ein Python-Code-Snippet für eine Anwendung, die denselben HTTP-Client wiederverwendet und Dienstendpunkte für drei Google APIs erstellt (ja, auch mit drei verschiedenen SCOPES):

SCOPES = (
   
'https://www.googleapis.com/auth/drive',
   
'https://www.googleapis.com/auth/spreadsheets.readonly',
   
'https://www.googleapis.com/auth/presentations',
)

   
. . .

HTTP  
= creds.authorize(Http())
DRIVE  
= discovery.build('drive',  'v3', http=HTTP)
SHEETS
= discovery.build('sheets', 'v4', http=HTTP)
SLIDES
= discovery.build('slides', 'v1', http=HTTP)

Wir stellen uns vor, dass dieser Code Teil einer App sein kann, die mehrere Foliensätze (Slides API) auf der Grundlage von Tabellendaten (Sheets API) generiert und eine Folienvorlage verwendet, die für jede generierte Präsentation kopiert wird (Drive API). Eine solche Anwendung gibt es zwar nicht, aber Sie sollten in der Lage sein, etwas Ähnliches zu erstellen. Dazu verwenden Sie zwei vorhandene Beispiele, die das Google Workspace-Team als Bausteine erstellt hat:

  • Ersetzen von Text & Bilder in Folien ( Blogpost und Video) – verwendet die Drive API, um eine Folienvorlage zu kopieren, und verwendet dann die Slides API, um den Text und Bildplatzhalter
  • Folien aus Tabellendaten erstellen ( Blogpost und Video) – Daten werden aus einer Tabelle gelesen (Sheets API) und anhand dieser Daten werden Folien erstellt (Slides API).

Herausforderung: App entwickeln!

12. *Erweiterte Verwendung der devconsole

In diesem optionalen Abschnitt erfahren Sie, wie Sie ohne den Assistenten, wie oben im Codelab beschrieben, Projekte in der devconsole erstellen, APIs aktivieren und Anmeldedaten abrufen. Diese Option ist für fortgeschrittene Nutzer gedacht, die sich damit vertraut machen und wissen möchten, wie das geht.

Projekt in der Cloud Console angeben

Jedes Mal, wenn Sie eine Anwendung mit Google APIs schreiben, benötigen Sie ein Projekt. Sie können entweder ein vorhandenes Projekt wiederverwenden oder ein neues erstellen. Dies geschieht in der Cloud Console. Einige Codelabs bieten einen Magic Link (z.B. einen Einrichtungsassistenten), mit dem Sie schnell loslegen und viele der erforderlichen Schritte überspringen können. Da dies jedoch nicht alle sind, sind dies allgemeine Anweisungen zum Erstellen von Projekten.

Sie können Projekte über die meisten Bildschirme in der Cloud Console erstellen. Dazu müssen Sie sich mit Ihren Google-Anmeldedaten angemeldet haben und oben in der Console ein Drop-down-Menü für Projekte angezeigt werden. Die meisten Screenshots stammen aus dem API Manager, auch bekannt als Developers Console. Sie können ganz einfach in der Navigationsleiste links auf "API Manager" klicken oder direkt in Ihrem Browser die Seite console.developers.google.com aufrufen.

  1. Wenn Sie noch keine Projekte haben, werden Sie möglicherweise zu...
  2. der Dashboard-Seite: Gwkk2zcSPOHlRzCGsmBDqfdsEMopOgJyJzh6TunpVFOP3R7bN0-iGt81mNueGxoAei6wCqgQBENsamw3v4ozZJtQgKva6v_90dYJ-rvQjUn9U89avlG1tepDYT9HHjZmYixLD0hACQ
  3. der Seite Bibliothek: NqfejNuo6fJfiTXERiCNAFTnno1JGgudf7M2zVyM9DzXP4E6ruoVxHvFQOPW-HFL5SZvm-WohzPTf7njBS9VCwuu4XnwhQ7CB83tNkH0jsYEx31hO6UMBVHPJS1BMjidg5kh-c7MEw
  4. oder eine ganz leere Seite: LcJ-wgOFlYa9uZm46fwUkfFTkXIcbhuk607KDaCz8_8NM09RHblz6T5JoWhH7uwSE2q6hKW9XnlutzUqd8yvRAEXFzQjqNNTuscj19yKGkMjbPixeUB8-F1y4Tz7eCpeOEzBUw70yw Falls Ihnen der dritte Fehler passiert, aktualisieren Sie einfach den Browser. Die Seite Bibliothek wird geöffnet.
  5. Unabhängig davon, ob Sie sich auf der Seite Dashboard oder Bibliothek befinden, klicken Sie oben auf der Seite auf die Projektauswahl: 3f5REVgveKDcJ8wG2C9gduFBftJb6RNtdQQJ79vwFmQCMU8_t_vxja8jPGIK-ZrpjSqGkRkY4k02xth-7FWNPj4GZUdcBmKQe97LporGaLvwIFzzR5wtH5mEEoA1a74_fnrh9YAqqg
  6. Als Nächstes wird das Auswahldialogfeld angezeigt. Klicken Sie auf das „+“, auf der rechten Seite, um ein neues Projekt zu erstellen: jNzs1bp1eWkpJT3S3AGTm9ejYT2mB3rEd1QajOhO0AR3YxcwaCcF4WlMzdmgOFtlIPQfGEMUysM6m7r89_Fc0Dyy--mjPhCEKdLRZjaozLOvoZOzKtIxdMoWFHCVc2N1K-2HES_k4Q
  7. Wenn Sie auf das Pluszeichen klicken, wird die Seite Neues Projekt angezeigt. Alle Privatnutzerkonten erhalten standardmäßig 12 Projekte. Bevor Sie Ihr erstes Projekt erstellen, müssen Sie die Nutzungsbedingungen für Google APIs akzeptieren: bCB0sQ6k5nfrajlhc-S61MVzyYYBqu6XVNKeRDzXNvKZUNlSeVJSLbkP8sPNi5A-5hWIFzhsQ5R_ER9BBb2bE_B02c1neY2iO5SSe6XDFldppsXbkWm63-0l3ugtSDQS-TeM1d773w

Danach werden die E-Mail-Anwerbung und die Fragen zu den Nutzungsbedingungen bei der Erstellung zukünftiger Projekte entfernt:

Pj31ZKoAAnw_JiSz8io7e4yC2Xh3voETusvePf0DS64IMB4aVy9CtANg2r-2NgPxLjbqcfd-Vs33ZNdN7Diz7sZo3j-MKS83SuNXlhGT8ivdhpIvizP1dsYeK1MBQ4HlDZA5aQkIhg 5. Wenn du in der Vergangenheit mindestens ein Projekt erstellt hast, wirst du nach der Anmeldung zum Dashboard des letzten Projekts weitergeleitet, an dem du gearbeitet hast. Erstellen Sie dann wie bei Projekt auswählen ein neues Projekt. + klicken. 6. Nachdem das neue Projekt erstellt wurde, werden Sie zurück zur Seite Dashboard geleitet: ana4q1H1Q8KNTBEVb62Cc6NVA8VZbxb6BLgf4-bLqLV-p7n8UWv3WW3FN-49CE0x1kARav3pelxOBwNuUDELmitMRFhUNXuaw9-CH9DO3Lek_ifnaI3ZsxSy67Z1UsBO95SPFqlf8Q

Sie haben nun erfolgreich ein Projekt erstellt und können nun mit der Auswahl der APIs fortfahren, die Sie für Ihr Projekt verwenden möchten.

Google APIs aktivieren

Bevor Sie Google APIs verwenden können, müssen Sie sie aktivieren. Das folgende Beispiel zeigt, wie Sie die Cloud Vision API aktivieren. In diesem Codelab verwenden Sie möglicherweise eine oder mehrere APIs. Führen Sie ähnliche Schritte aus, um sie vor der Verwendung zu aktivieren.

Von Cloud Shell

In Cloud Shell können Sie die API mit dem folgenden Befehl aktivieren:

gcloud services enable vision.googleapis.com

Über die Cloud Console

Sie können die Vision API auch im API Manager aktivieren. Rufen Sie in der Cloud Console den API-Manager auf und wählen Sie „Bibliothek“ aus.

mg03by3QV6kco0rVVV_8IA6VobAoMG4Yoyl-PofNM0dHK8IcoDmpoLUwWeiKFFjpxHWlS1td5-0n7kNkfqHVhSsTSW_hUMvRu3D72g3LCFb7u4v4bla_Z4XyonTVK8PpigMLJcE01g

Geben Sie in die Suchleiste „Vision“ (Vision) ein und wählen Sie dann die Vision API aus. Sie kann während der Eingabe in etwa wie folgt aussehen:

B6fWWsVhymufgQx6oGIq4sgukK6JQ1VoguVOrSNf_anQb6Cv6RTLtsjx5Qdeu3-uO8-8PyqwZLYdDDjYW5o56R47cnsd_88RKTMqNkpFeDESW2hmBM_7FK2UAMz1_216yXERYSp_JA

Wählen Sie die Cloud Vision API aus, um das unten angezeigte Dialogfeld aufzurufen, und klicken Sie dann auf „Aktivieren“ Schaltfläche:

D-MONPLi0UWH6Dp607Dod6JF-LJQZIiUQEPQNKM4Y0mSt09KfipbeeXRAE6cokArBYTfL9VQoONc4L0jlnsUYLsNytQIPfSKr9lCDrXmrrx-1w64LeWWa-byDxcyYWZdCI0mAcVzBw

Kosten

Viele Google APIs können kostenlos genutzt werden, die Nutzung von GCP (Produkten und APIs) ist jedoch nicht kostenlos. Beim Aktivieren der Vision API (wie oben beschrieben) werden Sie möglicherweise nach einem aktiven Rechnungskonto gefragt. Nutzer sollten vor der Aktivierung auf die Preisinformationen der Vision API verweisen. Beachten Sie, dass bestimmte Google Cloud Platform-Produkte (GCP) das "Immer kostenlos"-Angebot Stufe, die Sie überschreiten müssen, um eine Abrechnung zu erhalten. Im Codelab wird jeder Aufruf der Vision API auf diese kostenlose Stufe angerechnet. Solange Sie insgesamt innerhalb des Limits bleiben (innerhalb eines Monats), fallen keine Kosten an.

Einige Google APIs, z.B. Die Nutzung von Google Workspace ist durch ein monatliches Abo abgedeckt, sodass beispielsweise die Nutzung der APIs für Gmail, Google Drive, Kalender, Docs, Tabellen und Präsentationen nicht direkt abgerechnet wird. Verschiedene Google-Produkte werden unterschiedlich abgerechnet. Informationen hierzu finden Sie in der Dokumentation Ihrer API.

Zusammenfassung

In diesem Codelab müssen Sie nur die Google Drive API aktivieren. Folgen Sie der Anleitung oben und suchen Sie nach „Drive“. Fahren Sie nach der Aktivierung fort.

API-Anfragen autorisieren (Nutzerautorisierung)

Einführung in die Autorisierung (sowie einige Authentifizierungsmethoden)

Damit Sie Anfragen an die APIs senden können, muss Ihre Anwendung über die entsprechende Autorisierung verfügen. Authentifizierung, ein ähnliches Wort, beschreibt Anmeldedaten. Dabei authentifizieren Sie sich, wenn Sie sich mit einem Log-in und einem Passwort in Ihrem Google-Konto anmelden. Passwort. Nach der Authentifizierung legen Sie im nächsten Schritt fest, ob Sie für den Zugriff auf Daten wie Blob-Dateien in Cloud Storage oder auf die privaten Dateien eines Nutzers in Google Drive berechtigt sind (bzw. Ihr Code).

Google APIs unterstützen mehrere Autorisierungstypen. Die am häufigsten verwendete Methode für Nutzer der Google Workspace API ist die Nutzerautorisierung, da die Beispielanwendung in diesem Codelab auf Daten von Endnutzern zugreift. Diese Endnutzer müssen Ihrer App Zugriff auf ihre Daten gewähren. Das bedeutet, dass mit Ihrem Code OAuth2-Anmeldedaten von Nutzerkonten abgerufen werden müssen.

Um OAuth2-Anmeldedaten für die Nutzerautorisierung abzurufen, gehen Sie zurück zum API-Manager und wählen Sie die Option im linken Navigationsbereich:

Y33PZ_rJC1y7NH7Rrvq1kN_WxZ9CppDGJK8tTSaha298Jlm5pMqgnyweIO4oX34fcLy0_VI4gihYu5wpEM_LeJg1iDAFoidhUVyfqJX3QTzODQ_OGjHLXYBxPpUvihCJi9JGwvMREw

Dort werden alle Ihre Anmeldedaten in drei separaten Abschnitten angezeigt:

ComE4qh76dwZbIehkDUm1QawHGia_qVe7w7rkmgbeo_wjWS--kqXCt4_zvm55iy_RXA8dKYKvBxIKazkcYQ8871SA_kNslbvum_n1Ju4k9qJJSMtDhPAnofcvIlqlKm1nu7PBQhmEg

Das erste ist für API-Schlüssel, die zweiten OAuth 2.0-Client-IDs und die letzten OAuth2-Dienstkonten. Wir verwenden das in der Mitte.

Anmeldedaten erstellen

Klicken Sie oben auf der Seite „Anmeldedaten“ auf die Schaltfläche + Anmeldedaten erstellen. Daraufhin wird ein Dialogfeld angezeigt, in dem Sie „OAuth-Client-ID“ auswählen.

C7jTddfrczo3GewPGCxbxX13GawtFc6FGvAPFusPc_IW-tr5M6xgXd1OzOHOUTo86WDa9fXiCITogv9b3wAgOcYM7xS3AmVNaPdTxbAynIe_sia2_x3LEPsBrdbX8NjeI2WaHRioOA

Auf dem nächsten Bildschirm gibt es zwei Aktionen: Konfigurieren Sie den Zustimmungsbildschirm für die Autorisierung Ihrer App. und wählen Sie den Anwendungstyp aus:

El9_aqPQ6Q9hOsOp3JUC5qnCm_A_BVI-oCEfPk_MsvybnWBmC5lT6CtXSoZ7EQoFzrcBEzo4zF9s8CbhXyo0e-eSY3pZ1zg0BRvT0YssMMhbzEG-gP_jiO8v9q9HYTjg-QW5jJ0RDA

Wenn Sie keinen Zustimmungsbildschirm eingerichtet haben, wird die Warnung in der Konsole angezeigt und Sie müssen dies jetzt tun. Wenn Ihr Zustimmungsbildschirm bereits eingerichtet wurde, können Sie diese nächsten Schritte überspringen.

Klicken Sie auf „Zustimmungsbildschirm konfigurieren“. in dem Sie ein "Extern"-Element App (oder „Intern“, wenn Sie Google Workspace-Kunde sind):

5w-9R6gPvUHFzODZxXy-0GEhL8ZGDGNea3QtMp1FFYDv5DJ_MIDD21NEh3CzI-GKNzy6bkhH7bohxOG8icQTegiWlavOQhQqhSy7K31Ma3YTI9aAP3P-LmTBanPslX1cnjKLVZBi8A

Für die Zwecke dieser Übung spielt es keine Rolle, welche Sie auswählen, da Sie Ihr Codelab-Beispiel nicht veröffentlichen. Die meisten Nutzer werden „Extern“ auswählen um zu einem komplexeren Bildschirm weitergeleitet zu werden, aber Sie müssen nur den Namen ein:

8e9z_RQz8lumYbDIcBvm57_Gpptn9uhrVQHoRzJ01AJNOFmXloDO7Eg3hhzJZZIU2F5rR0MxTCw-oXVFCq683xUwD4O33pXeuFsOMtM8EZhyjDoYc8Kv4hEoaG0Ztq9ePx6De7YmfA

Im Moment benötigen Sie nur einen Anwendungsnamen. Wählen Sie also einen Namen aus, der zu Ihrem Codelab passt, und klicken Sie auf Speichern.

OAuth-Client-ID wird erstellt (Authentifizierung des Nutzerkontos)

Kehren Sie nun zum Tab „Anmeldedaten“ zurück, um eine OAuth2-Client-ID zu erstellen. Hier siehst du eine Vielzahl von OAuth-Client-IDs, die du erstellen kannst:

f8reuhsxOUNLcVrEIyRVsmP_fX_ceIlLvEKql1YHwSPW9jk9Mm9fJ0UlfUoi8eRN3QQXar4xtpo071zj6LSczNN7TYY8zB96Dn6ICZuvCAtjIgJSKdMSlX-ZhMuSWFpxxv661aUemw

Wir entwickeln das Befehlszeilentool Andere. Wählen Sie dieses aus und klicken Sie auf Erstellen. Wählen Sie einen Client-ID-Namen für die App aus, die Sie erstellen, oder verwenden Sie einfach den Standardnamen, der normalerweise "Anderer Client N" lautet.

Anmeldedaten werden gespeichert

  1. Ein Dialogfeld mit den neuen Anmeldedaten wird angezeigt. Klicken Sie zum Schließen auf OK.

rAwekj_GNEuVwGbZOYYlGDQjlu4flE61OPEZIUmwMI5vGi3W365UwVCxi0mVNhg4WZSSczZywrZZ6NDM_U0FJ4b-TOIMEC189uybOJjgn8F_axesVMopel9RlehRBXdEFhN4d41WGQ

  1. Scrollen Sie auf der Seite „Anmeldedaten“ nach unten zu „OAuth2-Client-IDs“. suchen und klicken Sie auf das Downloadsymbol aAmje6kT_xSUM4BKIlPREpjosx7C_xxwpWqBgiGVfVWxQ8nnQOfxTPhuU0QwSnmbjykZffGrqyP1nnKrEQ7D7OqYaGw_Uzscs9gX2RwwP4AmvtHIiTFLa0gkprzJSjG9pQSx7HtmSQ ganz rechts unter Ihrer neu erstellten Client-ID. x-vb-sKZy-X8a1X4uTsBWotSd4wn0PGt4mHMNv6DUrq5J5ihpujUyTiIVr5SHw0p2ZDy0KTP-zqOaFX-Az9BYDWG90KNFmsRLTUOo1mUVk7dYRJiK3VwYJNU0bbxjsbbpqcTr5_oLw
  2. Es wird ein Dialogfeld zum Speichern einer Datei mit dem Namen client_secret-LONG-HASH-STRING.apps.googleusercontent.com.json geöffnet, die wahrscheinlich im Ordner Downloads abgelegt wird. Wir empfehlen, ihn in einen einfacheren Namen wie client_secret.json zu kürzen, der in der Beispiel-App verwendet wird, und ihn dann in dem Verzeichnis/Ordner zu speichern, in dem du die Beispiel-App in diesem Codelab erstellst.