Wyświetl pierwsze 100 plików & foldery na Dysku Google

1. Korzystanie z interfejsów Google Workspace API

Dzięki temu ćwiczeniu w Codelabs dowiesz się, jak korzystać z interfejsów API typu REST w Google Workspace (dawniej G Suite). Dla zwięzłości i dostępności przykład zostanie wykonany w Pythonie, ale możesz też użyć swojego ulubionego języka programowania. Poznasz zagadnienia wprowadzające, takie jak używanie konsoli programisty do tworzenia projektów i zarządzania nimi, uzyskiwanie danych uwierzytelniających i instalowanie bibliotek klienta interfejsu API. Po załatwianiu formalności napiszesz aplikację do wyświetlania pierwszych 100 plików i na Dysku Google przy użyciu jego interfejsu API.

Czego się nauczysz

  • Tworzenie projektu za pomocą Google/Cloud Developers Console
  • Pozyskiwanie używanie w swojej aplikacji danych logowania do aplikacji OAuth2
  • Dowiedz się więcej o korzystaniu z bibliotek klienta interfejsów API Google
  • Pisz aplikacje za pomocą usług Google & Interfejsy Google Workspace API
  • Uzyskiwanie informacji o plikach i folderach przy użyciu interfejsu Google Drive API

Czego potrzebujesz

  • Dostęp do internetu i przeglądarki
  • konto Google (konta Google Workspace mogą wymagać zatwierdzenia przez administratora),
  • znajomość systemów zgodnych z POSIX, takich jak Linux czy macOS X
  • Możliwość tworzenia plików źródłowych za pomocą edytora kodu lub poleceń powłoki.
  • podstawowe umiejętności w języku Python (2 lub 3), ale możesz używać dowolnego obsługiwanego języka;
  • Niektóre pliki lub foldery na Dysku Google

2. Ankieta

W jaki sposób wykorzystasz ten samouczek z programowania?

Tylko do przeczytania Przeczytaj go i wykonaj ćwiczenia

Jak oceniasz swoje wrażenia z korzystania z narzędzi dla programistów Google Workspace Interfejsy API?

Początkujący Poziom średnio zaawansowany Biegły
.

3. Omówienie

Z tego ćwiczenia w Codelabs dowiesz się, jak:

  1. Pobierz bibliotekę klienta interfejsów API Google dla Pythona
  2. Tworzenie nowego projektu w Google/Cloud Developers Console
  3. Uzyskiwanie danych logowania niezbędnych do korzystania z aplikacji
  4. Użyj tych danych logowania, aby uzyskać dostęp do interfejsu Google Drive API

Jeśli nie chcesz używać Pythona, możesz zaimplementować ćwiczenia z programowania w swoim ulubionym narzędziu dla programistów (biblioteki klienta obsługiwanych języków znajdziesz tutaj) i po prostu odwoływać się do przykładów Pythona jako (wykonywalny) pseudokod.

4. Potwierdź środowisko Pythona

To ćwiczenie w Codelabs wymaga używania języka Python (chociaż wiele języków jest obsługiwanych przez biblioteki klienta interfejsów API Google, więc możesz śmiało stworzyć coś podobnego w swoim ulubionym narzędziu dla programistów i używać Pythona jako pseudokodu. To ćwiczenia z programowania obsługują języki Python 2 i 3, ale zalecamy jak najszybsze przejście na wersję 3.x.

Cloud Shell to udogodnienie dla użytkowników dostępne bezpośrednio z poziomu konsoli Google Cloud, które nie wymaga lokalnego środowiska programistycznego, więc ten samouczek można wykonać całkowicie w chmurze za pomocą przeglądarki. Usługa Cloud Shell jest szczególnie przydatna, jeśli tworzysz lub planujesz później programować z wykorzystaniem usług GCP. API. Dokładniej rzecz biorąc, na potrzeby tego ćwiczenia z programowania w Cloud Shell zainstalowano już obie wersje Pythona.

W Cloud Shell jest też zainstalowany IPython. Jest to interaktywny tłumacz języka Python wyższego poziomu, który polecamy szczególnie użytkownikom pracującym w społeczności zajmującej się badaniem danych lub systemami uczącymi się. Jeśli tak, domyślnym interpreterem notatników Jupyter jest IPython, a także Colab notatników Jupyter hostowanych przez Google Research.

IPython faworyzuje najpierw interpretera Pythona 3, ale jeśli wersja 3.x nie jest dostępna, wraca do Pythona 2. Dostęp do IPython można uzyskać z Cloud Shell, ale można go też zainstalować w lokalnym środowisku programistycznym. Wyjdź za pomocą klawiszy ^D (Ctrl + d) i zaakceptuj ofertę wyjścia. Przykładowe dane wyjściowe uruchamiania funkcji ipython będą wyglądać tak:

$ 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]:

Jeśli nie podoba Ci się IPython, zdecydowanie możesz użyć standardowego, interaktywnego interpretera Pythona (czyli Cloud Shell lub lokalnego środowiska programistycznego) (wyjście także za pomocą ^D):

$ 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.
>>>

W ćwiczeniach w Codelabs zakładamy też, że masz narzędzie instalacyjne pip (menedżer pakietów Pythona i mechanizm rozwiązywania zależności). Jest on dostarczany w pakiecie z wersją 2.7.9 lub nowszym albo 3.4 i nowszymi. Jeśli masz starszą wersję Pythona, instrukcje instalacji znajdziesz w tym przewodniku. W zależności od uprawnień możesz potrzebować dostępu na poziomie sudo lub dostępu superużytkownika, ale zwykle nie jest to konieczne. Możesz też bezpośrednio użyć metody pip2 lub pip3 do wykonania pip na potrzeby określonych wersji Pythona.

Pozostała część ćwiczenia w Codelabs zakłada, że używasz Pythona 3. Jeśli znacznie różnisz się od wersji 3.x, otrzymasz szczegółowe instrukcje dla Pythona 2.

*tworzyć i wykorzystywać środowiska wirtualne,

Ta sekcja jest opcjonalna i bardzo wymagana tylko dla tych, którzy muszą używać środowiska wirtualnego w tych ćwiczeniach z programowania (zgodnie z informacjami na pasku bocznym ostrzeżenia powyżej). Jeśli masz na komputerze tylko język Python 3, po prostu uruchom to polecenie, by utworzyć środowisko wirtualne o nazwie my_env (w razie potrzeby możesz wybrać inną nazwę):

virtualenv my_env

Jeśli jednak masz zarówno język Python 2, jak 3 na komputerze, zalecamy zainstalowanie środowiska wirtualnego w języku Python 3, co można zrobić za pomocą -p flag w ten sposób:

virtualenv -p python3 my_env

„Aktywuj”, aby wpisać nowo utworzony virtualenv w następujący sposób:

source my_env/bin/activate

Potwierdź, że jesteś w środowisku, obserwując prompt powłoki, który jest poprzedzony nazwą środowiska, np.

(my_env) $ 

Teraz powinno być już możliwe pip install wszystkie wymagane pakiety, wykonanie kodu w ramach tego rozwiązania itp. Inną korzyścią jest to, że w przypadku całkowitego bałaganu Twoja instalacja Pythona może być uszkodzona itd., możesz zniszczyć całe środowisko bez wpływu na pozostałą część systemu.

5. Zainstaluj bibliotekę klienta interfejsów API Google dla Pythona

To ćwiczenie w Codelabs wymaga użycia biblioteki klienta interfejsów API Google dla Pythona, więc jest to prosty proces instalacji lub nie musisz nic robić.

Wcześniej zalecamy korzystanie z Cloud Shell. Cały samouczek możesz ukończyć w przeglądarce w chmurze. Innym powodem, dla którego warto korzystać z Cloud Shell, jest to, że wiele popularnych narzędzi dla programistów i niezbędnych bibliotek jest już wstępnie zainstalowanych.

*Instalowanie bibliotek klienta

(Opcjonalnie) Możesz pominąć ten krok, jeśli używasz Cloud Shell lub środowiska lokalnego, w którym masz już zainstalowane biblioteki klienta. Zrobisz to tylko wtedy, gdy programujesz lokalnie i nie masz (lub nie masz pewności) takiej instalacji. Najłatwiej jest użyć dodatku pip (lub pip3) do instalacji (w razie potrzeby także aktualizacji samego programu pip):

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

Potwierdź instalację

To polecenie instaluje bibliotekę klienta oraz wszystkie pakiety, od których zależy. Niezależnie od tego, czy używasz Cloud Shell, czy własnego środowiska, sprawdź, czy biblioteka klienta jest zainstalowana, importując niezbędne pakiety i czy nie występują błędy importu (ani dane wyjściowe):

python3 -c "import googleapiclient, httplib2, oauth2client"

Jeśli zamiast tego używasz Pythona 2 (z Cloud Shell), zobaczysz ostrzeżenie, że obsługa została wycofana:

*******************************************************************************
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.
*******************************************************************************

Gdy będzie można uruchomić ten import, przeprowadź „test” (brak błędów/danych wyjściowych), możesz zacząć komunikować się z interfejsami API Google.

Podsumowanie

Ponieważ jest to wprowadzenie dla programistów, zakładamy, że dopiero zaczynasz korzystać z interfejsów API Google i Google Workspace. Jeśli masz już doświadczenie w tworzeniu projektów i tworzeniu autoryzacji użytkowników „Identyfikatory klientów OAuth”. Jeśli tak, utwórz lub wykorzystaj istniejący projekt, utwórz lub wykorzystaj istniejący identyfikator klienta OAuth. Pomiń 2 następne moduły i przejdź od razu do sekcji „Wyświetlanie plików na Dysku i aplikacja do folderów” lub przejdź do artykułu „Zaawansowane korzystanie z konsoli deweloperskiej”, aby zapoznać się z tymi krokami z mniej wskazówek.

6. Określ projekt w konsoli Cloud

Aplikacja korzystająca z interfejsów API Google wymaga projektu. Zarządzanie nimi odbywa się w Google Cloud Developers Console, czyli w usłudze „devconsole”. W tym ćwiczeniu w programowaniu wykorzystamy tylko interfejs Google Drive API, więc mamy magiczny link (poniżej w kroku 1), który:

  • Otwiera konsolę programisty
  • przeprowadzi Cię przez proces tworzenia nowego projektu (lub wyboru istniejącego) oraz
  • Automagicznie włącza interfejs Drive API.

Do dzieła!

  1. Wejdź na console.developers.google.com/start/api?id=drive i zaloguj się na swoje konto Google.
  2. Jeśli nie masz jeszcze żadnych projektów, zobaczysz ten ekran umożliwiający zaakceptowanie Warunków korzystania z interfejsów API Google:

e3b2076ba58a7cd7.pngGdy zaakceptujesz warunki, utworzysz nowy projekt o nazwie „Mój projekt”. a interfejs Drive API zostanie automatycznie włączony. 3. Jeśli zamiast tego masz już projekt (być może poprzednie ćwiczenia z programowania), zobaczysz ten ekran: 50b3b8ace6721f1f.png Po kliknięciu menu Utwórz projekt wybierz istniejący projekt lub utwórz nowy. 69db3867445ad9e5.png Gdy dokonasz wyboru (nowy lub istniejący projekt), interfejs Drive API zostanie automatycznie włączony. 4. Będziesz mieć pewność, że interfejs Drive API został włączony, i to po potwierdzeniu: 365e7de1377493bb.png 5. Kliknij Przejdź do danych logowania, aby przejść do następnego kroku.

7. *Autoryzacja żądań do interfejsu API (autoryzacja użytkownika)

Możesz pominąć tę sekcję, jeśli masz już utworzone dane logowania do autoryzacji konta użytkownika i znasz ten proces. Różni się ona od autoryzacji konta usługi, której technika się różni, dlatego przejdź dalej poniżej.

Wprowadzenie do autoryzacji (oraz niektóre uwierzytelnianie)

Aby móc wysyłać żądania do interfejsów API, aplikacja musi mieć odpowiednią autoryzację. Uwierzytelnianie, podobnie jak tu, opisuje dane logowania. Musisz się uwierzytelnić, gdy logujesz się na konto Google za pomocą loginu. hasła. Po uwierzytelnieniu kolejnym krokiem jest sprawdzenie, czy masz uprawnienia do uzyskiwania dostępu do danych, takich jak pliki blob w Cloud Storage czy osobiste pliki użytkownika na Dysku Google, czy też Twój kod.

Interfejsy API Google obsługują kilka typów autoryzacji, ale najpowszechniejszym w przypadku użytkowników Google Workspace API jest autoryzacja, ponieważ przykładowa aplikacja w tym ćwiczeniu uzyskuje dostęp do danych należących do użytkowników. Ci użytkownicy muszą zezwolić aplikacji na dostęp do swoich danych. Oznacza to, że kod musi uzyskać dane logowania OAuth2 do konta użytkownika.

Aby uzyskać dane logowania OAuth2 do autoryzacji użytkownika, wróć do menedżera API i wybierz „Dane logowania” na lewym panelu nawigacyjnym:

Y33PZ_rJC1y7NH7Rrvq1kN_WxZ9CppDGJK8tTSaha298Jlm5pMqgnyweIO4oX34fcLy0_VI4gihYu5wpEM_LeJg1iDAFoidhUVyfqJX3QTzODQ_OGjHLXYBxPpUvihCJi9JGwvMREw

Wszystkie swoje dane logowania zobaczysz w trzech osobnych sekcjach:

ComE4qh76dwZbIehkDUm1QawHGia_qVe7w7rkmgbeo_wjWS--kqXCt4_zvm55iy_RXA8dKYKvBxIKazkcYQ8871SA_kNslbvum_n1Ju4k9qJJSMtDhPAnofcvIlqlKm1nu7PBQhmEg

Pierwsze dotyczy kluczy interfejsu API, drugiego identyfikatora klienta OAuth 2.0, a ostatnich kont usługi OAuth2 – tego, który znajduje się w środku.

Tworzę dane logowania

U góry strony Dane logowania kliknij przycisk + Utwórz dane logowania. Otworzy się okno, w którym wybierz opcję „Identyfikator klienta OAuth”.

C7jTddfrczo3GewPGCxbxX13GawtFc6FGvAPFusPc_IW-tr5M6xgXd1OzOHOUTo86WDa9fXiCITogv9b3wAgOcYM7xS3AmVNaPdTxbAynIe_sia2_x3LEPsBrdbX8NjeI2WaHRioOA

Na następnym ekranie są do wyboru 2 działania: skonfigurowanie „ekranu zgody” autoryzacji aplikacji. oraz typ aplikacji:

El9_aqPQ6Q9hOsOp3JUC5qnCm_A_BVI-oCEfPk_MsvybnWBmC5lT6CtXSoZ7EQoFzrcBEzo4zF9s8CbhXyo0e-eSY3pZ1zg0BRvT0YssMMhbzEG-gP_jiO8v9q9HYTjg-QW5jJ0RDA

Jeśli nie masz ustawionego ekranu zgody, zobaczysz w konsoli ostrzeżenie. Musisz to zrobić teraz. (Pomiń te kroki, jeśli Twój ekran zgody został już skonfigurowany).

Kliknij „Skonfiguruj ekran zgody”. w którym należy wybrać „Z zewnątrz” aplikacja (lub „Wewnętrzna”, jeśli jesteś klientem Google Workspace [dawniej „Google Workspace”):

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

Na potrzeby tego ćwiczenia nie ma znaczenia, którą opcję wybierzesz, ponieważ nie publikujesz przykładowego ćwiczenia z programowania. Większość użytkowników wybierze „Z zewnątrz” może pojawić się bardziej złożony ekran, ale tak naprawdę wystarczy wpisać „Nazwa aplikacji” u góry:

8e9z_RQz8lumYbDIcBvm57_Gpptn9uhrVQHoRzJ01AJNOFmXloDO7Eg3hhzJZZIU2F5rR0MxTCw-oXVFCq683xUwD4O33pXeuFsOMtM8EZhyjDoYc8Kv4hEoaG0Ztq9ePx6De7YmfA

Na razie potrzebujesz jedynie nazwy aplikacji, więc wybierz osobę, która będzie wykorzystywała wykonywane przez Ciebie ćwiczenia, a następnie kliknij Zapisz.

Tworzę identyfikator klienta OAuth (uwierzytelnianie konta użytkownika)

Teraz wróć na kartę Dane logowania, aby utworzyć identyfikator klienta OAuth2. Tutaj znajdziesz różne identyfikatory klienta OAuth, które możesz utworzyć:

f8reuhsxOUNLcVrEIyRVsmP_fX_ceIlLvEKql1YHwSPW9jk9Mm9fJ0UlfUoi8eRN3QQXar4xtpo071zj6LSczNN7TYY8zB96Dn6ICZuvCAtjIgJSKdMSlX-ZhMuSWFpxxv661aUemw

Opracowujemy narzędzie wiersza poleceń – Inne. Wybierz je, a następnie kliknij przycisk Utwórz. Wybierz nazwę identyfikatora klienta odpowiadającą tworzonej aplikacji lub po prostu użyj nazwy domyślnej, którą zwykle jest „Inny klient N”.

Zapisuję dane logowania

  1. Pojawi się okno z nowymi danymi logowania. kliknij OK, aby zamknąć

rAwekj_GNEuVwGbZOYYlGDQjlu4flE61OPEZIUmwMI5vGi3W365UwVCxi0mVNhg4WZSSczZywrZZ6NDM_U0FJ4b-TOIMEC189uybOJjgn8F_axesVMopel9RlehRBXdEFhN4d41WGQ

  1. Wróć na stronę Dane logowania i przewiń w dół do sekcji „Identyfikatory klienta OAuth2”. znajdź i kliknij ikonę pobierania aAmje6kT_xSUM4BKIlPREpjosx7C_xxwpWqBgiGVfVWxQ8nnQOfxTPhuU0QwSnmbjykZffGrqyP1nnKrEQ7D7OqYaGw_Uzscs9gX2RwwP4AmvtHIiTFLa0gkprzJSjG9pQSx7HtmSQ w prawym dolnym rogu nowo utworzonego identyfikatora klienta. x-vb-sKZy-X8a1X4uTsBWotSd4wn0PGt4mHMNv6DUrq5J5ihpujUyTiIVr5SHw0p2ZDy0KTP-zqOaFX-Az9BYDWG90KNFmsRLTUOo1mUVk7dYRJiK3VwYJNU0bbxjsbbpqcTr5_oLw
  2. Otworzy się okno umożliwiające zapisanie pliku o nazwie client_secret-LONG-HASH-STRING.apps.googleusercontent.com.json, który prawdopodobnie znajduje się w folderze Pobrane. Zalecamy skrócenie nazwy do prostszej nazwy, na przykład client_secret.json (z której korzysta przykładowa aplikacja), a następnie zapisanie jej w katalogu lub folderze, w którym będziesz tworzyć przykładową aplikację w ramach tego ćwiczenia w programie.

Podsumowanie

Gdy masz już dane logowania, możesz korzystać z interfejsu Drive API z poziomu aplikacji, pamiętając, że identyfikator klienta OAuth jest taki, że użytkownicy muszą przyznać Twojej aplikacji uprawnienia dostępu do swoich danych na Dysku Google.

UWAGA: możesz uzyskać więcej informacji na temat tworzenia projektów, włączania interfejsów API i uzyskiwania danych logowania ręcznie, tj.bez użycia „kreatora”. są dostępne po zakończeniu tego ćwiczenia z programowania w celu dalszego zbadania.

8. Wyświetlam Twoje pliki na Dysku i aplikacja do obsługi folderów

W lokalnym środowisku programistycznym lub w Cloud Shell, w tym samym katalogu, w którym znajduje się plik danych logowania client_id.json, utwórz nowy plik Pythona o nazwie drive_list.py i dodaj do niego poniższe wiersze:

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'])

Struktura aplikacji

W tej aplikacji są 3 główne sekcje:

  1. Importowanie Pythona w celu wprowadzenia funkcji biblioteki
  2. Uzyskiwanie danych logowania do aplikacji
  3. Pobierz plik & nazwy folderów Typ MIME na Dysku Google użytkownika oraz wyświetlacz

UWAGA: po zakończeniu tego ćwiczenia w programowaniu po zakończeniu tego ćwiczenia w Codelabs znajdziesz bardziej szczegółowe informacje na temat kodu oraz szczegółowe wyjaśnienie.

Uruchamianie aplikacji

Nazwij ten plik na przykład drive_list.py. Gdy pierwszy raz uruchomisz skrypt, nie będzie on miał dostępu do plików użytkownika na Dysku (w Twoim). Dane wyjściowe wyglądają tak, gdy wykonywanie jest wstrzymane:

$ 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

Z lokalnego środowiska programistycznego

Skrypt wiersza poleceń zostanie wstrzymany. Otworzy się okno przeglądarki, w którym wyświetli się okno uprawnień OAuth2:

c2648f37bcb7a0c1.png

W tym miejscu aplikacja prosi użytkownika o uprawnienia, o które prosi kod (przez zmienną SCOPES). W tym przypadku jest to możliwość wyświetlenia metadanych pliku z Dysku Google użytkownika. Tak. Te zakresy uprawnień w kodzie są wyświetlane jako identyfikatory URI, ale są tłumaczone na język określony przez ustawienia regionalne w oknie procesu OAuth2. Użytkownik musi jednoznacznie autoryzować wymagane uprawnienia. W przeciwnym razie „uruchomienie” spowoduje zgłoszenie wyjątku, a skrypt nie będzie kontynuował dalszych czynności.

UWAGA: niektórzy użytkownicy mają kilka przeglądarek, w związku z czym prośba o autoryzację może pojawiać się w przeglądarce, która nie jest preferowana. W takim przypadku po prostu skopiuj cały URL z okna przeglądarki, której nie chcesz używać, i wklej go na pasku adresu przeglądarki, której chcesz używać.

Z Cloud Shell

Jeśli program uruchamiał się w Cloud Shell, nie otworzyło się żadne okno przeglądarki, przez co program utknął na Twojej stronie. Uświadom sobie, że komunikat diagnostyczny u dołu strony był przeznaczony dla Ciebie... ten:

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

 --noauth_local_webserver

Po uruchomieniu w ten sposób otrzymasz następujące dane wyjściowe:

$ 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:

Gdy wykonasz instrukcje i przejdziesz na inną kartę przeglądarki z tym adresem URL, środowisko programistyczne będzie wyglądać prawie tak samo jak powyżej. Główna różnica polega na tym, że na końcu pojawia się jeszcze jeden ekran z kodem weryfikacyjnym, który należy wpisać w Cloud Shell:

f6da2c335fb7c6a.png

Wytnij ten kod i wklej go w oknie terminala.

Podsumowanie

Gdy użytkownik kliknie „Zezwól” lub wklei się kod weryfikacyjny w prośbie, aplikacja będzie nadal działać. Zobaczysz dane wyjściowe zawierające pliki/foldery na Dysku i ich typy MIME. Oto przykład z jednego z naszych kont testowych:

$ 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
  . . .

Zwróć uwagę, że w kolejnych wykonaniach nie jest już wyświetlany monit o autoryzację (ponieważ kod jest zapisany w pamięci podręcznej bibliotek uwierzytelniania) i możesz od razu przejść do danych wyjściowych. Czy to ekscytujące, gdy po raz pierwszy widzisz dokumenty w terminalu? Tak sądzimy!

9. Podsumowanie

Teraz możesz poznać funkcje interfejsu Drive API lub inne usługi Google Workspace (Gmail, Dokumenty, Arkusze, Prezentacje, Kalendarz) i inne interfejsy API Google (Mapy, Analytics, YouTube itp.). Gratulacje! Udało Ci się dotrzeć do końca.

Kod zaprezentowany w tym ćwiczeniu jest również dostępny w repozytorium GitHub na stronie github.com/googlecodelabs/gsuite-apis-intro. Staramy się, aby ćwiczenia z programowania były zsynchronizowane z repozytorium. Możemy przejść dalej? Poniżej znajdziesz różne zasoby, z których możesz skorzystać, aby zgłębić materiały omówione w tym ćwiczeniu z programowania. Jeśli chcesz poznać inne sposoby korzystania z technologii Google w sposób zautomatyzowany,

Jak wspomnieliśmy wcześniej, jeśli nie jesteś zwykłym programistą Python, zachęcamy do powtórzenia tego przykładu ćwiczeń w ulubionym języku programowania. Biblioteki klienta dla obsługiwanych języków są dostępne tutaj.

Badanie dodatkowe

Skoro masz już doświadczenie w korzystaniu z interfejsu Drive API, zapoznaj się z tymi rekomendowanymi ćwiczeniami, które pomogą Ci rozwinąć umiejętności:

  1. Pliki ZIP: napisz aplikację, która tworzy na Dysku kopie zapasowe wielu archiwów ZIP, rozpakowując je na bieżąco w taki sposób, aby każda nazwa pliku ZIP odpowiadała nazwie folderu, do którego się one znajdują. DODATKOWY ŚRODKI: obsługa rekurencyjnych archiwów ZIP w innych plikach ZIP z folderami z Dysku umieszczonymi w innych folderach. Jeśli się poddasz, zapoznaj się z tą przykładową aplikacją Node.js.
  2. Albumy zdjęć: podaj początek narzędzia do generowania albumów ze zdjęciami, które przesyła wiele zdjęć na Dysk Google, porządkując je w osobnych folderach według sygnatury czasowej geolokalizację. DODATKOWY ŚRODKI: znajdź bibliotekę open source do manipulacji obrazami i połącz wszystkie zdjęcia z każdego folderu, aby pokazać wydarzenia, których doświadczyłeś (wycieczkę, kolację itp.).
  3. Poznaj GCP: napisz aplikację, która łączy Google Workspace z Google Cloud Platform (GCP). Napisz narzędzie, które tworzy kopię zapasową plików graficznych z Dysku Google do Google Cloud Storage (GCS) lub innego „przechowywania plików w chmurze” i rozwiązania problemu. Może ciężko uwierzyć, ale użycie GCS jest prostsze niż Dysk ze względu na zaawansowane biblioteki klienta.
  4. Analizuj i rekord: rozszerz swoje rozwiązanie do etapu 3, analizując każdy obraz, którego kopia zapasowa została utworzona. W tym celu przekaż go do interfejsu Google Cloud Vision API i uzyskaj pierwsze „etykiety” (3, 5, 10) tego, co interfejs API jest widoczny na tych obrazach. W przypadku każdego obrazu zapisz wiersz w arkuszu Google zawierający analizę z Cloud Vision oraz jego kopię zapasową w GCS. Jeśli się poddasz, wykonaj te ćwiczenia z programowania w języku Python.

10. Dodatkowe materiały

Dokumentacja

Wiadomości i aktualizacje

Inne ćwiczenia z programowania

Wprowadzające

Średnio zaawansowany

Zaawansowane

Aplikacje referencyjne

11. *Szczegółowe wyjaśnienie dotyczące zgłoszenia

Po zakończeniu sesji ta opcjonalna sekcja służy do uzupełnienia ewentualnych braków lub do dalszych badań.

Importowanie Pythona w celu wprowadzenia funkcji biblioteki

from __future__ import print_function

from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
  • Pierwsza instrukcja import umożliwia uruchomienie tego kodu w języku Python 2 – jeśli korzystasz wyłącznie z języka Python 3, możesz ją całkowicie usunąć.
  • Jedna ze wskazówek dotyczących stylu w języku Python dotyczy oddzielania importów z biblioteki standardowej od importu z modułu zewnętrznego – po to właśnie jest pusty wiersz.
  • Następne 3 importy importują niezbędne klasy i z biblioteki klienta interfejsów API Google... wszystkie są potrzebne do napisania tej aplikacji. Oto w skrócie:
  • googleapiclient koncentruje się na łączeniu z interfejsami API Google
  • httplib2 udostępnia klienta HTTP, którego aplikacja ma używać
  • oauth2client pomaga nam zarządzać danymi logowania OAuth2

Autoryzacja i uzyskiwanie danych logowania do aplikacji

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()))
  • Aplikacja SCOPES to uprawnienia, o które prosi użytkownik aplikacji, która ją uruchomi. Ze względu na bezpieczeństwo danych użytkownika aplikacje nie mogą działać bez przyznania odpowiednich uprawnień
  • Sprawdzoną metodą jest używanie maksymalnie restrykcyjnych uprawnień wymaganych do działania aplikacji. Dlaczego?
  • Czy to nie jest irytujące, gdy aplikacja prosi o duży zestaw uprawnień podczas jej instalowania lub uruchamiania? A to ciekawostka… Jesteś po drugiej stronie monety, prosząc użytkowników o przyznanie Ci wszystkich uprawnień. Użycie bardziej restrykcyjnych zakresów ułatwi użytkownikom zainstalowanie aplikacji, ponieważ prosisz o mniejszy dostęp.
  • Większość zakresów wygląda jak długie adresy URL, a zakres metadanych Dysku nie jest wyjątkiem.
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
  • Aplikacje muszą mieć token, aby komunikować się z serwerami Google. Prawidłowe tokeny zwracane od Google będą zapisywane w pliku pamięci tokenów storage.json. Jeśli nie zapiszesz tych tokenów, trzeba będzie ponownie autoryzować aplikację przy każdym jej uruchomieniu.
store = file.Storage('storage.json')
  • Ta aplikacja najpierw sprawdza, czy mamy już w pamięci prawidłowe dane logowania (patrz warunkowa instrukcja if).
creds = store.get()
if not creds or creds.invalid:
  • Jeśli nie masz danych logowania lub nie masz tych danych, które wygasły, musisz utworzyć nowy proces autoryzacji [przy użyciu oauth2client.client.flow_from_clientsecrets()] na podstawie identyfikatora klienta OAuth i w pobranym pliku client_id.json].
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
  • Gdy aplikacja zacznie postępować, musi zostać uruchomiona, aby wyświetlić użytkownikowi ekran uprawnień OAuth2 [za pomocą aplikacji oauth2client.tools.run_flow()] w opisany i przedstawiony wyżej sposób.
    creds = tools.run_flow(flow, store)
  • Klikając Zezwól, użytkownicy wyrażają zgodę na to, aby aplikacja miała dostęp do metadanych ich plików na Dysku Google, a serwery Google zwracają tokeny dostępu do interfejsu API. Są one zwracane jako creds i zapisywane w pamięci podręcznej pliku storage.json.
  • Na tym etapie aplikacja ma teraz prawidłowe dane uwierzytelniające, aby móc wywoływać interfejs API. Wywołanie googleapiclient.discovery.build() powoduje utworzenie punktu końcowego usługi dla używanego interfejsu API.
  • Aby używać funkcji build(), przekaż nazwę interfejsu API ('drive') & żądana wersja (obecnie 'v3').
  • Ostatni parametr to klient HTTP, którego należy używać do zaszyfrowanych wywołań interfejsu API.
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))

Pobierz i wyświetl pierwszych 100 plików/folderów na Dysku MIMEtypes)

files = DRIVE.files().list().execute().get('files', [])
for f in files:
    print(f['name'], f['mimeType'])
  • Następny wiersz kodu wywołuje metodę list() w kolekcji files() dla interfejsu Drive API, aby utworzyć żądanie, które jest wywoływane natychmiast za pomocą execute(). Zwracany jest kod dict w Pythonie, z którego prosimy o klucz 'files' w celu pobrania pliku 100 i nazw folderów z Dysku Google użytkownika (lub mniejszą, jeśli masz mniej plików).
  • Dlaczego 100? To wartość domyślna ze strony DRIVE.files().list(). Jeśli chcesz zmienić tę liczbę, np. tylko 10 plików lub 1000, dodaj do żądania parametr pageSize: DRIVE.files().list(pageSize=10). Więcej opcji znajdziesz w dokumentacji.
  • Ostatnia część skryptu to pętla przez każdy plik i wyświetla się jego nazwy typu MIME.

Masz już za sobą pierwszą aplikację wykorzystującą interfejs API Google typu REST. Gratulujemy! Poza importami i kodem autoryzacji ten skrypt w rzeczywistości zawiera tylko kilka wierszy kodu (zobacz powyżej). Większość interfejsów API Google działa w podobny sposób i wystarczy utworzyć tylko punkty końcowe usługi dla każdego z nich, których chcesz używać.

Używanie więcej niż jednego interfejsu API Google w aplikacji

Tak, zdecydowanie w tej samej aplikacji można używać więcej niż jednego interfejsu API. Oto fragment kodu Pythona dla aplikacji, która używa tego samego klienta HTTP i tworzy punkty końcowe usługi dla 3 interfejsów API Google (tak, również z 3 różnymi 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)

Zakładamy, że ten kod może stanowić część aplikacji, która generuje wiele pokazów slajdów (interfejs Slides API) na podstawie danych arkusza kalkulacyjnego (interfejs Arkuszy Google API) i używa szablonu slajdu, który jest kopiowany (interfejs API Dysku) do każdej wygenerowanej prezentacji. Chociaż aplikacja nie istnieje, warto spróbować utworzyć podobną aplikację, korzystając z 2 istniejących przykładów utworzonych przez zespół Google Workspace jako elementy składowe:

  • Zastępowanie tekstu & obrazy na slajdach ( posty na blogu i filmy) – za pomocą interfejsu Drive API do skopiowania prezentacji szablonów slajdów, a potem do zmiany tekstu w celu obiekty zastępcze obrazów
  • Generowanie slajdów na podstawie danych z arkuszy kalkulacyjnych ( posty i filmy na blogu) – odczytuje dane z arkusza kalkulacyjnego (interfejsSheets API) i tworzy slajdy (interfejs Slides API) na podstawie tych danych.

Twoje wyzwanie: stwórz taką aplikację!

12. *Zaawansowane użycie konsoli deweloperskiej

W tej opcjonalnej sekcji opisujemy, jak tworzyć projekty w konsoli programisty, włączać interfejsy API i uzyskiwać dane logowania bez korzystania z kreatora (jak powyżej) z ćwiczeń z programowania. Jest przeznaczona dla średnio zaawansowanych użytkowników, którzy chcą robić to ręcznie lub chcą się tego nauczyć.

Określ projekt w konsoli Cloud

Za każdym razem, gdy piszesz aplikację przy użyciu interfejsów API Google, musisz mieć projekt. Możesz wykorzystać istniejący projekt lub utworzyć nowy. Odbywa się to w konsoli Cloud. Niektóre ćwiczenia z programowania zawierają magiczny link (np. kreator konfiguracji), dzięki któremu można szybko rozpocząć pracę, pomijając wiele wymaganych kroków. Jednak nie wszystkie z nich są, dlatego są to ogólne instrukcje tworzenia projektów.

Możesz tworzyć projekty na większości ekranów w konsoli Cloud, jeśli po zalogowaniu się za pomocą danych logowania Google zobaczysz menu projektu u góry konsoli. Pamiętaj, że większość przedstawionych tu zrzutów ekranu pochodzi z interfejsu API Manager (nazywanego też Developers Console). Możesz je łatwo otworzyć, klikając „Menedżer API” w panelu nawigacyjnym po lewej stronie lub bezpośrednio w przeglądarce pod adresem console.developers.google.com.

  1. Jeśli nie masz jeszcze żadnych projektów, może nastąpić przekierowanie do...
  2. strona Panel: Gwkk2zcSPOHlRzCGsmBDqfdsEMopOgJyJzh6TunpVFOP3R7bN0-iGt81mNueGxoAei6wCqgQBENsamw3v4ozZJtQgKva6v_90dYJ-rvQjUn9U89avlG1tepDYT9HHjZmYixLD0hACQ
  3. strona Biblioteka: NqfejNuo6fJfiTXERiCNAFTnno1JGgudf7M2zVyM9DzXP4E6ruoVxHvFQOPW-HFL5SZvm-WohzPTf7njBS9VCwuu4XnwhQ7CB83tNkH0jsYEx31hO6UMBVHPJS1BMjidg5kh-c7MEw
  4. lub całkowicie pusta strona: LcJ-wgOFlYa9uZm46fwUkfFTkXIcbhuk607KDaCz8_8NM09RHblz6T5JoWhH7uwSE2q6hKW9XnlutzUqd8yvRAEXFzQjqNNTuscj19yKGkMjbPixeUB8-F1y4Tz7eCpeOEzBUw70yw Jeśli przydarzy Ci się trzecia, odśwież stronę w przeglądarce, by wyświetlić stronę Biblioteka.
  5. Niezależnie od tego, czy jesteś na stronie Panel czy Biblioteka, kliknij selektor projektów u góry strony: 3f5REVgveKDcJ8wG2C9gduFBftJb6RNtdQQJ79vwFmQCMU8_t_vxja8jPGIK-ZrpjSqGkRkY4k02xth-7FWNPj4GZUdcBmKQe97LporGaLvwIFzzR5wtH5mEEoA1a74_fnrh9YAqqg
  6. Pojawi się okno wyboru. Kliknij przycisk „+”, po prawej stronie, aby utworzyć nowy projekt: jNzs1bp1eWkpJT3S3AGTm9ejYT2mB3rEd1QajOhO0AR3YxcwaCcF4WlMzdmgOFtlIPQfGEMUysM6m7r89_Fc0Dyy--mjPhCEKdLRZjaozLOvoZOzKtIxdMoWFHCVc2N1K-2HES_k4Q
  7. Gdy klikniesz „+”, pojawi się strona New Project (Nowy projekt). Wszystkie konta klientów otrzymują domyślnie 12 projektów. Przed utworzeniem pierwszego projektu musisz zaakceptować Warunki korzystania z interfejsów API Google: bCB0sQ6k5nfrajlhc-S61MVzyYYBqu6XVNKeRDzXNvKZUNlSeVJSLbkP8sPNi5A-5hWIFzhsQ5R_ER9BBb2bE_B02c1neY2iO5SSe6XDFldppsXbkWm63-0l3ugtSDQS-TeM1d773w

Gdy to zrobisz, podczas tworzenia przyszłych projektów znikną pytania dotyczące pozyskiwania e-maili i Warunków korzystania z usługi:

Pj31ZKoAAnw_JiSz8io7e4yC2Xh3voETusvePf0DS64IMB4aVy9CtANg2r-2NgPxLjbqcfd-Vs33ZNdN7Diz7sZo3j-MKS83SuNXlhGT8ivdhpIvizP1dsYeK1MBQ4HlDZA5aQkIhg 5. Jeśli masz już utworzony co najmniej 1 projekt, po zalogowaniu się wyświetli Ci panel ostatniego projektu, nad którym pracujesz. Następnie utwórz nowy projekt – kliknij Wybierz projekt > + 6. Gdy nowy projekt zostanie utworzony, ponownie otworzy się strona Panel: ana4q1H1Q8KNTBEVb62Cc6NVA8VZbxb6BLgf4-bLqLV-p7n8UWv3WW3FN-49CE0x1kARav3pelxOBwNuUDELmitMRFhUNXuaw9-CH9DO3Lek_ifnaI3ZsxSy67Z1UsBO95SPFqlf8Q

Udało Ci się utworzyć projekt. Możesz przejść do kolejnego etapu – wybierz interfejsy API, których chcesz użyć w projekcie.

Włączanie interfejsów API Google

Przed rozpoczęciem korzystania z interfejsów API Google musisz je włączyć. Poniższy przykład pokazuje, co należy zrobić, aby włączyć interfejs Cloud Vision API. W ramach tego ćwiczenia w programie możesz używać co najmniej 1 interfejsu API. Przed użyciem musisz wykonać podobne czynności, aby go włączyć.

Z Cloud Shell

Interfejs API możesz włączyć za pomocą Cloud Shell, używając tego polecenia:

gcloud services enable vision.googleapis.com

W konsoli Google Cloud

Możesz też włączyć Vision API w menedżerze interfejsów API. W konsoli Cloud otwórz Menedżera interfejsów API i wybierz „Biblioteka”.

mg03by3QV6kco0rVVV_8IA6VobAoMG4Yoyl-PofNM0dHK8IcoDmpoLUwWeiKFFjpxHWlS1td5-0n7kNkfqHVhSsTSW_hUMvRu3D72g3LCFb7u4v4bla_Z4XyonTVK8PpigMLJcE01g

Na pasku wyszukiwania zacznij wpisywać „vision”, i wybierz Vision API, gdy się pojawi. W trakcie pisania może to wyglądać mniej więcej tak:

B6fWWsVhymufgQx6oGIq4sgukK6JQ1VoguVOrSNf_anQb6Cv6RTLtsjx5Qdeu3-uO8-8PyqwZLYdDDjYW5o56R47cnsd_88RKTMqNkpFeDESW2hmBM_7FK2UAMz1_216yXERYSp_JA

Wybierz interfejs Cloud Vision API, aby wyświetlić okno widoczne poniżej, a następnie kliknij „Włącz”. przycisk:

D-MONPLi0UWH6Dp607Dod6JF-LJQZIiUQEPQNKM4Y0mSt09KfipbeeXRAE6cokArBYTfL9VQoONc4L0jlnsUYLsNytQIPfSKr9lCDrXmrrx-1w64LeWWa-byDxcyYWZdCI0mAcVzBw

Koszt

Chociaż z wielu interfejsów API Google można korzystać bez opłat, korzystanie z GCP (usług i interfejsów API) nie jest bezpłatne. Podczas włączania Vision API (w sposób opisany powyżej) może pojawić się prośba o aktywne konto rozliczeniowe. Przed jego włączeniem użytkownik powinien wskazać informacje o cenach interfejsu Vision API. Pamiętaj, że niektóre usługi Google Cloud Platform (GCP) mają atrybut „Zawsze bezpłatny” poziomu, który musisz przekroczyć, aby naliczać opłaty. Na potrzeby ćwiczeń z programowania każde wywołanie interfejsu Vision API jest wliczane do tego poziomu bezpłatnego. Dopóki nie przekroczysz limitu w ramach limitu (w ciągu miesiąca), nie poniesiesz żadnych opłat.

Niektóre interfejsy API Google, np. Korzystanie z Google Workspace jest objęte subskrypcją miesięczną, więc nie ma bezpośrednich płatności za na przykład za korzystanie z interfejsów API Gmaila, Dysku, Kalendarza, Dokumentów, Arkuszy i Prezentacji. Różne usługi Google są rozliczane w różny sposób, dlatego zapoznaj się z dokumentacją interfejsu API.

Podsumowanie

W ramach tego ćwiczenia w Codelabs musisz tylko włączyć interfejs Google Drive API, więc postępuj zgodnie z instrukcjami powyżej i wyszukaj „Dysk”. Przejdź dalej, gdy zostanie włączona.

Autoryzacja żądań do interfejsu API (autoryzacja użytkownika)

Wprowadzenie do autoryzacji (oraz niektóre uwierzytelnianie)

Aby móc wysyłać żądania do interfejsów API, aplikacja musi mieć odpowiednią autoryzację. Uwierzytelnianie, podobnie jak tu, opisuje dane logowania. Musisz się uwierzytelnić, gdy logujesz się na konto Google za pomocą loginu. hasła. Po uwierzytelnieniu kolejnym krokiem jest sprawdzenie, czy masz uprawnienia do uzyskiwania dostępu do danych, takich jak pliki blob w Cloud Storage czy osobiste pliki użytkownika na Dysku Google, czy też Twój kod.

Interfejsy API Google obsługują kilka typów autoryzacji, ale najpowszechniejszym w przypadku użytkowników Google Workspace API jest autoryzacja, ponieważ przykładowa aplikacja w tym ćwiczeniu uzyskuje dostęp do danych należących do użytkowników. Ci użytkownicy muszą zezwolić aplikacji na dostęp do swoich danych. Oznacza to, że kod musi uzyskać dane logowania OAuth2 do konta użytkownika.

Aby uzyskać dane logowania OAuth2 do autoryzacji użytkownika, wróć do menedżera API i wybierz „Dane logowania” na lewym panelu nawigacyjnym:

Y33PZ_rJC1y7NH7Rrvq1kN_WxZ9CppDGJK8tTSaha298Jlm5pMqgnyweIO4oX34fcLy0_VI4gihYu5wpEM_LeJg1iDAFoidhUVyfqJX3QTzODQ_OGjHLXYBxPpUvihCJi9JGwvMREw

Wszystkie swoje dane logowania zobaczysz w trzech osobnych sekcjach:

ComE4qh76dwZbIehkDUm1QawHGia_qVe7w7rkmgbeo_wjWS--kqXCt4_zvm55iy_RXA8dKYKvBxIKazkcYQ8871SA_kNslbvum_n1Ju4k9qJJSMtDhPAnofcvIlqlKm1nu7PBQhmEg

Pierwsze dotyczy kluczy interfejsu API, drugiego identyfikatora klienta OAuth 2.0, a ostatnich kont usługi OAuth2 – tego, który znajduje się w środku.

Tworzę dane logowania

U góry strony Dane logowania kliknij przycisk + Utwórz dane logowania. Otworzy się okno, w którym wybierz opcję „Identyfikator klienta OAuth”.

C7jTddfrczo3GewPGCxbxX13GawtFc6FGvAPFusPc_IW-tr5M6xgXd1OzOHOUTo86WDa9fXiCITogv9b3wAgOcYM7xS3AmVNaPdTxbAynIe_sia2_x3LEPsBrdbX8NjeI2WaHRioOA

Na następnym ekranie są do wyboru 2 działania: skonfigurowanie „ekranu zgody” autoryzacji aplikacji. oraz typ aplikacji:

El9_aqPQ6Q9hOsOp3JUC5qnCm_A_BVI-oCEfPk_MsvybnWBmC5lT6CtXSoZ7EQoFzrcBEzo4zF9s8CbhXyo0e-eSY3pZ1zg0BRvT0YssMMhbzEG-gP_jiO8v9q9HYTjg-QW5jJ0RDA

Jeśli nie masz ustawionego ekranu zgody, zobaczysz w konsoli ostrzeżenie. Musisz to zrobić teraz. (Pomiń te kroki, jeśli Twój ekran zgody został już skonfigurowany).

Kliknij „Skonfiguruj ekran zgody”. w którym należy wybrać „Z zewnątrz” app (lub „Wewnętrzna”, jeśli korzystasz z Google Workspace):

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

Na potrzeby tego ćwiczenia nie ma znaczenia, którą opcję wybierzesz, ponieważ nie publikujesz przykładowego ćwiczenia z programowania. Większość użytkowników wybierze „Z zewnątrz” może pojawić się bardziej złożony ekran, ale tak naprawdę wystarczy wpisać „Nazwa aplikacji” u góry:

8e9z_RQz8lumYbDIcBvm57_Gpptn9uhrVQHoRzJ01AJNOFmXloDO7Eg3hhzJZZIU2F5rR0MxTCw-oXVFCq683xUwD4O33pXeuFsOMtM8EZhyjDoYc8Kv4hEoaG0Ztq9ePx6De7YmfA

Na razie potrzebujesz jedynie nazwy aplikacji, więc wybierz osobę, która będzie wykorzystywała wykonywane przez Ciebie ćwiczenia, a następnie kliknij Zapisz.

Tworzę identyfikator klienta OAuth (uwierzytelnianie konta użytkownika)

Teraz wróć na kartę Dane logowania, aby utworzyć identyfikator klienta OAuth2. Tutaj znajdziesz różne identyfikatory klienta OAuth, które możesz utworzyć:

f8reuhsxOUNLcVrEIyRVsmP_fX_ceIlLvEKql1YHwSPW9jk9Mm9fJ0UlfUoi8eRN3QQXar4xtpo071zj6LSczNN7TYY8zB96Dn6ICZuvCAtjIgJSKdMSlX-ZhMuSWFpxxv661aUemw

Opracowujemy narzędzie wiersza poleceń – Inne. Wybierz je, a następnie kliknij przycisk Utwórz. Wybierz nazwę identyfikatora klienta odpowiadającą tworzonej aplikacji lub po prostu użyj nazwy domyślnej, którą zwykle jest „Inny klient N”.

Zapisuję dane logowania

  1. Pojawi się okno z nowymi danymi logowania. kliknij OK, aby zamknąć

rAwekj_GNEuVwGbZOYYlGDQjlu4flE61OPEZIUmwMI5vGi3W365UwVCxi0mVNhg4WZSSczZywrZZ6NDM_U0FJ4b-TOIMEC189uybOJjgn8F_axesVMopel9RlehRBXdEFhN4d41WGQ

  1. Wróć na stronę Dane logowania i przewiń w dół do sekcji „Identyfikatory klienta OAuth2”. znajdź i kliknij ikonę pobierania aAmje6kT_xSUM4BKIlPREpjosx7C_xxwpWqBgiGVfVWxQ8nnQOfxTPhuU0QwSnmbjykZffGrqyP1nnKrEQ7D7OqYaGw_Uzscs9gX2RwwP4AmvtHIiTFLa0gkprzJSjG9pQSx7HtmSQ w prawym dolnym rogu nowo utworzonego identyfikatora klienta. x-vb-sKZy-X8a1X4uTsBWotSd4wn0PGt4mHMNv6DUrq5J5ihpujUyTiIVr5SHw0p2ZDy0KTP-zqOaFX-Az9BYDWG90KNFmsRLTUOo1mUVk7dYRJiK3VwYJNU0bbxjsbbpqcTr5_oLw
  2. Otworzy się okno umożliwiające zapisanie pliku o nazwie client_secret-LONG-HASH-STRING.apps.googleusercontent.com.json, który prawdopodobnie znajduje się w folderze Pobrane. Zalecamy skrócenie nazwy do prostszej nazwy, na przykład client_secret.json (z której korzysta przykładowa aplikacja), a następnie zapisanie jej w katalogu lub folderze, w którym będziesz tworzyć przykładową aplikację w ramach tego ćwiczenia w programie.