arrow_back

Wprowadzenie do interfejsów API w Google

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Wprowadzenie do interfejsów API w Google

Lab 30 godz. universal_currency_alt 1 punkt show_chart Wprowadzające
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP294

Moduły Google Cloud do samodzielnego ukończenia

Opis

Interfejsy API (interfejsy programowania aplikacji) to programy, które dają programistom dostęp do zasobów obliczeniowych oraz danych. Wiele różnego rodzaju firm oferuje ogólnodostępne interfejsy API, by programiści mogli integrować specjalistyczne narzędzia, usługi czy biblioteki z własnymi aplikacjami i bazą kodu.

W tym module zapoznasz się z informacjami o architekturze i podstawowych funkcjach interfejsów API. Wiedza ta zostanie uzupełniona ćwiczeniami praktycznymi, w ramach których skonfigurujesz i uruchomisz metody interfejsu Cloud Storage API w Google Cloud Shell. Dzięki temu modułowi zrozumiesz kluczowe zasady komunikacji, architektury i uwierzytelniania interfejsów API. Zdobędziesz też praktyczne doświadczenie dotyczące interfejsów API, które przyda się w przyszłych modułach czy projektach.

Czego się nauczysz

W tym module zdobędziesz wiedzę na temat:

  • interfejsów API Google,
  • architektury interfejsów API,
  • protokołu i metod HTTP,
  • punktów końcowych,
  • stylu architektury REST (Representational State Transfer) i interfejsów API typu REST,
  • formatu JSON (JavaScript Object Notation),
  • usług uwierzytelniania interfejsu API.

Wymagania wstępne

To jest moduł dla użytkowników początkujących. Zakładamy więc, że nie wiesz nic lub wiesz niewiele o interfejsach API i nie masz żadnego lub prawie żadnego doświadczenia w korzystaniu z interfejsów API Google. Znajomość środowisk powłoki i narzędzi interfejsu wiersza polecenia może być pomocna, ale nie jest konieczna. Znajomość konsoli Cloud i Cloud Storage jest zalecana, dlatego przed rozpoczęciem tego modułu zapoznaj się co najmniej z tymi, które tu wymieniamy:

Gdy zechcesz rozpocząć, przewiń stronę w dół i wykonaj opisane niżej kroki, aby skonfigurować środowisko modułu.

Konfiguracja i wymagania

Zanim klikniesz przycisk Rozpocznij moduł

Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Gdy klikniesz Rozpocznij moduł, na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.

W tym praktycznym module możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.

Do ukończenia modułu potrzebne będą:

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
Uwaga: uruchom ten moduł w oknie incognito lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie oddatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module, aby uniknąć naliczania opłat na koncie.

Rozpoczynanie modułu i logowanie się w konsoli Google Cloud

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:

    • przyciskiem Otwórz konsolę Google;
    • czasem, który Ci pozostał;
    • tymczasowymi danymi logowania, których musisz użyć w tym module;
    • innymi informacjami potrzebnymi do ukończenia modułu.
  2. Kliknij Otwórz konsolę Google. Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.

    Wskazówka: otwórz karty obok siebie w osobnych oknach.

    Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
  3. W razie potrzeby skopiuj nazwę użytkownika z panelu Szczegóły modułu i wklej ją w oknie logowania. Kliknij Dalej.

  4. Skopiuj hasło z panelu Szczegóły modułu i wklej je w oknie powitania. Kliknij Dalej.

    Ważne: musisz użyć danych logowania z panelu po lewej stronie, a nie danych logowania Google Cloud Skills Boost. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  5. Na kolejnych stronach wykonaj następujące czynności:

    • Zaakceptuj Warunki korzystania z usługi.
    • Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
    • Nie rejestruj się w bezpłatnych wersjach próbnych.

Poczekaj, aż na karcie otworzy się konsola Google Cloud.

Uwaga: aby wyświetlić menu z listą produktów i usług Google Cloud Console, w lewym górnym rogu kliknij menu nawigacyjne. Ikona menu nawigacyjnego

Zadanie 1. Interfejsy API – co i dlaczego

Jak już wspomnieliśmy, interfejs API (interfejs programowania aplikacji) to program, który daje programistom dostęp do zasobów obliczeniowych oraz danych. Interfejsy API są zgodne z określonymi zasadami i metodami, aby jasno przekazywać żądania i odpowiedzi.

Dzięki dostępowi do danych i zasobów obliczeniowych wydajność pracy programisty znacząco wzrasta. Użycie interfejsu API jest zdecydowanie łatwiejsze niż tworzenie każdego programu, metody czy zbioru danych od zera. Interfejsy API są tworzone w myśl zasady abstrakcji – nie trzeba rozumieć wewnętrznych procesów czy zawiłości interfejsu API, by używać go we własnym środowisku.

Interfejsy API powstają z myślą o programistach i najczęściej nie obejmują graficznego interfejsu użytkownika (GUI). Od tej reguły istnieją jednak wyjątki. Wprowadziliśmy nowe narzędzie o nazwie APIs Explorer, które umożliwia poznawanie różnych interfejsów API Google w sposób interaktywny (jeśli chcesz dowiedzieć się więcej, po zakończeniu tego modułu zajrzyj do APIs Explorer: Qwik Start).

Zadanie 2. Interfejsy API w Google Cloud

Google oferuje interfejsy API, które znajdują zastosowanie w różnych dziedzinach i sektorach. Interfejsy API często wykorzystywane są podczas tworzenia stron internetowych lub systemów uczących się, a także badania danych i pracy związanej z administrowaniem systemami. Na tym jednak lista się nie kończy. Jeśli na przykład przejrzysz stronę AnyAPI, zobaczysz, jak ogromny jest wybór interfejsów.

Kiedy Qwiklabs udostępnia nowy projekt Google Cloud na potrzeby modułu, włącza też większość interfejsów API – dzięki temu od razu można przystąpić do zadań. Jeśli tworzysz projekty niezależnie od Qwiklabs, musisz włączyć wybrane przez siebie interfejsy API samodzielnie.

Gdy już zostaniesz zaawansowanym użytkownikiem Google Cloud, w swojej pracy zaczniesz korzystać z coraz większej liczby interfejsów API. Doświadczeni użytkownicy będą integrować i używać interfejsów API z Google Cloud niemal wyłącznie w środowiskach lokalnych, rzadko używając konsoli Cloud do uruchamiania narzędzi i usług. Dostępne są dziesiątki modułów oferujących ćwiczenia z zakresu różnych – i różnojęzycznych – interfejsów API Google. Oto 2 przykłady:

Teraz przejrzysz zasoby biblioteki interfejsów API, aby dowiedzieć się, jakie interfejsy API Google są dostępne.

Zadanie 3. Biblioteka API

  1. Otwórz Menu nawigacyjne i wybierz Interfejsy API i usługi > Biblioteka.

Biblioteka interfejsów API daje szybki dostęp do ponad 200 interfejsów API Google, a także do ich dokumentacji i opcji ich konfigurowania. Choć biblioteka znajduje się w konsoli Cloud, warto podkreślić, że daje ona dostęp do wszystkich interfejsów API Google – nie tylko do tych z Google Cloud. Fakt ten uwypukla ważną kwestię – interfejsy API są fundamentalne dla wszystkich usług Google, przy czym nie wszystkie interfejsy Cloud APIs należą do kategorii Google Cloud.

Nadszedł czas na kilka praktycznych ćwiczeń związanych z włączaniem interfejsów API w bibliotece interfejsów API. Przyjmijmy, że zajmujesz się programowaniem aplikacji mobilnej klubu fitness i chcesz użyć w niej interfejsu Google Fitness API.

  1. Na pasku wyszukiwania „Wyszukaj interfejsy API i usługi” wpisz Fitness API i naciśnij ENTER.
  2. Na liście wyników kliknij Fitness API. Następnie kliknij Włącz.

Gdy klikniesz przycisk Wstecz w oknie przeglądarki i wrócisz na stronę Fitness API w bibliotece interfejsów API, zobaczysz, że ten interfejs API jest teraz włączony:

Włączony Fitness API w bibliotece interfejsów API

W bibliotece interfejsów API znajdują się linki do tutoriali i dokumentacji, warunki korzystania z usługi oraz interaktywne metody oferowane przez narzędzie APIs Explorer. Aby wyświetlić informacje o wskaźnikach i zużyciu, skorzystaj z panelu Interfejsy API i usługi.

Zadanie 4. Interfejsy API i usługi

Sprawdź Fitness API w panelu Interfejsy API i usługi w konsoli Cloud.

  1. Otwórz menu nawigacyjne i kliknij Interfejsy API i usługi > Włączone interfejsy API i usługi.

panelu Interfejsy API i usługi znajdziesz szczegóły wykorzystania konkretnych interfejsów API w projekcie, w tym poziomy ruchu, odsetki błędów, a nawet czasy oczekiwania – pomaga to szybko rozwiązywać problemy z aplikacjami korzystającymi z usług Google.

  1. Na liście interfejsów API wybierz Fitness API:

Lista interfejsów API

Uwaga: jeśli nie widzisz Fitness API na pierwszej stronie, poszukaj go na drugiej stronie.

Na tej stronie możesz przeglądać limity i prosić o ich zwiększenie, kontrolować dostęp do zasobów i danych oraz przeglądać wskaźniki.

  1. Aby zobaczyć, jak działają poszczególne funkcje, na karcie wybierz Limity.

  2. Wyświetli się liczba zapytań, na którą zezwala interfejs API (na dzień i na minutę):

limit1

Masz już doświadczenie w udostępnianiu interfejsu API spoza usługi Cloud – reszta praktycznych ćwiczeń dotyczyć będzie Cloud Storage API. Już za chwilę zapoznasz się z architekturą i podstawowymi funkcjami interfejsów API.

Sprawdź swoją wiedzę

Odpowiedz na pytania jednokrotnego wyboru, aby utrwalić wiedzę na temat omówionych pojęć.

Zadanie 5. Architektura interfejsów API

Interfejsy API to zestaw metod, które pozwalają na komunikację między programami. Aby komunikacja ta była efektywna, programy muszą być zgodne z jasnym protokołem zarządzającym transferem i interpretacją danych.

Model klient-serwer

Internet to standardowy kanał komunikacyjny wykorzystywany przez interfejsy API do przesyłania żądań i odpowiedzi między programami. Model klient-serwer to podstawowa architektura wykorzystywana do wymiany informacji przez internetowe interfejsy API.

Klient to urządzenie elektroniczne (np. smartfon, laptop itp.) wysyłające żądanie dotyczące zasobów obliczeniowych lub danych. Żądanie klienta musi zostać sformatowane w przyjętym protokole.

Na serwerze przechowywane są dane lub zasoby obliczeniowe. Jego zadaniem jest interpretacja i spełnienie żądania klienta.

Oto wizualna reprezentacja modelu klient-serwer:

Diagram modelu klient-serwer

Zadanie 6. Protokół HTTP i metody żądań

Ponieważ interfejsy API używają internetu jako kanału komunikacyjnego, wiele z nich jest zgodnych z protokołem HTTP, który określa zasady i metody wymiany danych między klientami a serwerami w internecie. Protokół HTTP jest wykorzystywany nie tylko przez interfejsy API – to standardowa forma komunikacji w internecie, polegająca na wysyłaniu i otrzymywaniu danych.

Interfejsy API, które korzystają z protokołu HTTP, w celu przesyłania żądań klienta do serwerów używają metod żądań HTTP (nazywanych też „czasownikami HTTP”). Najpopularniejsze metody żądań HTTP to GET, POST, PUTDELETE.

  • Metoda żądania GET jest używana przez klienta do pobierania danych z serwera. Jeśli żądany zasób znajduje się na serwerze, zostanie odesłany do klienta.
  • Metoda PUT zastępuje istniejące dane lub tworzy je, jeśli nie istnieją. Jeżeli metoda PUT zostanie użyta wiele razy, nie przyniesie to rezultatów – na serwerze będzie tylko 1 kopia zbioru danych.
  • Metoda POST jest używana głównie do tworzenia nowych zasobów. Wielokrotne użycie metody POST spowoduje dodanie danych w wielu miejscach na serwerze. Zalecamy używanie metody PUT do aktualizowania zasobów, a metody POST – do tworzenia nowych.
  • Metoda DELETE usuwa z serwera dane lub zasoby określone przez klienta.

Choć istnieją setki wyspecjalizowanych interfejsów API, tak naprawdę wszystkie używają tego samego protokołu i tych samych podstawowych metod do komunikacji klient-serwer.

Sprawdź swoją wiedzę

Odpowiedz na pytania jednokrotnego wyboru, aby utrwalić wiedzę na temat omówionych pojęć.

Zadanie 7. Punkty końcowe

Interfejsy API wykorzystują protokół HTTP do interakcji z danymi lub zasobami obliczeniowymi przechowywanymi na serwerze. Metody te są bezużyteczne, jeśli spójny dostęp do określonych zasobów jest niemożliwy. Aby umożliwić klientom bezproblemowy i regularny dostęp do potrzebnych zasobów, interfejsy API używają kanałów komunikacji nazywanych punktami końcowymi.

Punkty końcowe to punkty dostępu do danych lub zasobów obliczeniowych przechowywanych na serwerze. Występują w formie identyfikatorów URI HTTP. Punkty końcowe dodaje się do podstawowego adresu URL interfejsu API (takiego jak http://example.com), aby utworzyć ścieżkę do określonego zasobu lub kontenera zasobów. Oto kilka przykładów punktów końcowych:

  • http://example.com/lokalizacjasklepow
  • http://example.com/konta
  • http://example.com/pracownicy

Poniższe punkty końcowe również są prawidłowe:

  • http://example.com/lokalizacjasklepow/sanfrancisco
  • http://example.com/lokalizacjasklepow/nowedelhi
  • http://example.com/lokalizacjasklepow/londyn

Do punktów końcowych można dodać ciągi zapytania (np. http://example.com/punktkoncowy/?id=1), aby przekazywać zmienne, które mogą być konieczne do realizacji żądania interfejsu API. Punkty końcowe pełnią rolę „rzeczowników” i podlegają działaniu „czasowników” (metod HTTP), a interfejsy API wykorzystują ten mechanizm do realizowania żądań.

Dokładniej rzecz ujmując, klient wysyła żądanie składające się z metody HTTP (czasownika) i punktu końcowego (rzeczownika), aby otrzymać określone dane lub wykonać konkretne działanie na serwerze. Warto wiedzieć, że żądania klienta realizuje serwer, interpretując i wykonując określoną operację na podstawie dostarczonej metody i punktu końcowego.

Ponieważ najcięższa praca wykonywana jest w backendzie, można powiedzieć, że interfejs API wykorzystujący metody HTTP i punkty końcowe żyje na serwerze, działając jako realizator żądań klienta. Ten model luźno określa interfejsy API typu REST, którym przyjrzymy się bliżej w następnej sekcji. Aby przećwiczyć tworzenie punktów końcowych dla interfejsu API w praktyce, zrealizuj moduł Cloud Endpoints: Qwik Start.

Zadanie 8. Interfejsy API typu REST

Interfejsy API, które wykorzystują protokół HTTP, metody żądań i punkty końcowe, nazywane są interfejsami API typu REST. REST (Representational State Transfer) to styl architektury, który dobiera standardy komunikacji internetowej. Opis systemu typu REST stworzony przez Google:

[…] zasoby są przechowywane w magazynie danych – klient wysyła żądanie, aby serwer przystąpił do realizacji konkretnego działania (np. utworzenia, odzyskania, zaktualizowania lub usunięcia zasobu), serwer natomiast wykonuje działanie i wysyła odpowiedź, często w formie reprezentacji określonego zasobu.

Takie skupione na zasobie działanie to kluczowa zasada REST. Interfejsy API typu REST są modelowane jako:

[…] zbiory adresowanych indywidualnie zasobów […] Zasoby i metody są nazywane rzeczownikami i czasownikami interfejsów API. W protokole HTTP nazwy zasobów naturalnie mapują się na adresy URL, a metody – na metody HTTP […]

Po tym jak przeanalizowaliśmy te pojęcia w poprzednich sekcjach, użyte tu terminy powinny już brzmieć znajomo. REST to najpowszechniej stosowany mechanizm interfejsów API. W 2010 roku 74% interfejsów API w sieci publicznej stanowiły interfejsy API typu REST HTTP.

Oprócz ciągów zapytań interfejsy API REST mogą używać w żądaniach następujących pól:

  • Nagłówki: parametry, które opisują samo żądanie HTTP.
  • Treść: dane, które klient chce przesłać do serwera.

Treść pisana jest w języku formatowania danych JSON lub XML.

Zadanie 9. Formaty danych interfejsów API (JSON)

Jako formaty plików dla danych przechowywanych w treści metod żądania HTTP interfejsy API REST wykorzystują format XML lub format JSON (JavaScript Object Notation).

W interfejsach API REST najczęściej używa się formatu JSON, ponieważ jest on prostszy, łatwiejszy do odczytu i szybciej się go analizuje. Już za chwilę omówimy pokrótce składnię i strukturę plików JSON. Aby poszerzyć wiedzę, zapoznaj się z opracowaną przez W3C dokumentacją składni JSON (w języku angielskim).

JSON obsługuje następujące typy danych:

  • Liczby: wszystkie rodzaje – brak rozróżnienia między liczbami całkowitymi a wartościami liczb zmiennoprzecinkowych.
  • Ciągi: tekst w cudzysłowach.
  • Wartości logiczne: wartości True (Prawda) lub False (Fałsz).
  • Tablice: listy elementów pogrupowane według ich typu.
  • Null: „puste” wartości.

Dane JSON składają się z par klucz-wartość. Są to połączone części danych składające się z unikalnego identyfikatora (klucza), który stanowi punkt odniesienia dla części danych (wartości). Typ danych klucza musi być ciągiem, a wartością może być którykolwiek z wyszczególnionych wyżej typów danych.

Poniżej znajdziesz przykład prostej pary klucz-wartość w formacie JSON:

"Key1" : "Value 1"

Oto kolejne przykłady:

"Key2" : 64 "Key3" : True "Key4" : ["this", "is", "an", "array"]

Obiekt JSON wykorzystuje nawiasy klamrowe { } do grupowania danych ułożonych w pary klucz-wartość. Poniżej znajdziesz przykład obiektu zawierającego 3 pary klucz-wartość:

{ "Name": "Julie", "Hometown": "Los Angeles, CA", "Age": 28 }

Pary klucz-wartość przechowywane w obiekcie rozdzielane są przecinkami.

Walidacja kodu JSON

Pliki JSON mogą zawierać dowolną liczbę par klucz-wartość lub obiektów. W profesjonalnych zastosowaniach programistycznych nierzadko zdarza się, że tworzone pliki składają się z setek, a nawet tysięcy wierszy. Jako programista wiesz, że jeden niewielki błąd w formatowaniu lub składni wystarczy, by zepsuć całą bazę kodu.

Walidatory JSON, na przykład jsonlint lub – jeśli jako podstawowej przeglądarki używasz Chrome – rozszerzenie JSONView, są w stanie szybko rozpoznać błędy składni i formatowania w kodzie JSON oraz wskazać sposoby ich poprawy.

Przećwicz walidację kodu JSON.

  1. W nowej karcie otwórz walidator jsonlint.

  2. W walidatorze wklej następujący blok kodu:

{ "Name": "Julie", "Hometown": "Los Angeles, CA", "Age": 28 }
  1. Następnie kliknij Validate JSON. W sekcji wyników powinna pojawić się zapisana zieloną czcionką wiadomość o treści Valid JSON.

  2. Teraz wklej w walidatorze ten blok kodu:

{ "Name": "Julie" "Hometown": "Los Angeles, CA", "Age": 28 }
  1. Kliknij Validate JSON.

Zobaczysz, że brakuje w nim przecinka, a wcięcie tekstu jest niewłaściwe. Wcięcie tekstu zostanie poprawione, a walidator wyróżni miejsca, w których znalazł się błąd:

Wyniki obejmują: Błąd: Błąd analizy w wierszu 2:

Zgodnie z oczekiwaniami walidatorowi udało się znaleźć brakujący identyfikator (przecinek) po 2. wierszu. Jeśli dodasz przecinek po 2. wierszu i klikniesz Validate JSON (Sprawdź kod JSON), powinien wyświetlić się następujący komunikat:

Wyniki: prawidłowy plik JSON

Ponieważ przechodzisz poszczególne moduły, używając interfejsów API i kodu JSON, korzystanie z takiego walidatora kodu JSON podczas debugowania błędów w składni pomoże Ci zaoszczędzić sporo problemów, czasu i wysiłku.

Sprawdź swoją wiedzę

Odpowiedz na pytania jednokrotnego wyboru, aby utrwalić wiedzę na temat omówionych pojęć.

Zadanie 10. Tworzenie pliku JSON w konsoli Cloud

Już za chwilę zastosujesz nabytą wiedzę, tworząc wywołania interfejsu API typu REST/JSON usługi Cloud Storage w Cloud Shell, aby utworzyć zasobniki i przesyłać do nich treści.

  1. W nowej karcie otwórz stronę Google Cloud Storage JSON API, aby sprawdzić, czy Cloud Storage API jest włączony. Strona powinna wyglądać tak:

Google Cloud Storage JSON API

  1. Teraz otwórz sesję Cloud Shell. Uruchom poniższe polecenie, aby utworzyć i edytować plik o nazwie values.json:

nano values.json
  1. W edytorze tekstu nano skopiuj i wklej następującą treść, zastępując część <YOUR_BUCKET_NAME> unikalną nazwą zasobnika:

{ "name": "<YOUR_BUCKET_NAME>", "location": "us", "storageClass": "multi_regional" }
  1. Gdy to zrobisz, wyjdź z edytora tekstu nano, naciskając CTRL+XYENTER.

Właśnie udało Ci się utworzyć plik JSON, który zawiera obiekt posiadający 3 pary klucz-wartość: name, locationstorageClass. To te same wartości, które są wymagane podczas tworzenia zasobnika przy użyciu narzędzia wiersza poleceń gsutil lub w konsoli.

Zanim można będzie utworzyć zasobnik przy użyciu interfejsu API typu REST/JSON usługi Cloud Storage, musisz zgromadzić poprawne zasady uwierzytelniania i autoryzacji.

Zadanie 11. Uwierzytelnianie i autoryzacja

Ostatni temat, który omówimy w tym module, dotyczy schematu uwierzytelniania i autoryzacji interfejsów API.

  • Uwierzytelnianie to proces ustalania tożsamości klienta.
  • Autoryzacja to proces ustalania, jakie uprawnienia wobec zasobów ma klient, który pomyślnie przeszedł uwierzytelnianie.

Uwierzytelnianie pozwala rozpoznać, kim jesteś, a autoryzacja określa, co możesz zrobić.

Istnieją 3 rodzaje usług uwierzytelniania/autoryzacji wykorzystywanych w interfejsach API Google. Są to klucze interfejsu API, konta usługi i protokół OAuth. Do uwierzytelniania interfejs API użyje jednej z tych usług, w zależności od żądanego zasobu oraz tego, skąd interfejs API jest wywoływany.

Klucze interfejsu API

Klucze interfejsu API to tajne tokeny, które zazwyczaj występują w formie zaszyfrowanego ciągu. Można je szybko generować i równie szybko z nich korzystać. Interfejsy API korzystające z publicznych danych lub metod, które mogą być błyskawicznie zastosowane przez programistów, często używają kluczy interfejsu API do uwierzytelniania użytkowników.

W przypadku Google Cloud klucze interfejsu API identyfikują projekt wywołujący interfejs API. Dzięki temu możliwe staje się powiązanie z projektem informacji o użytkowaniu, a także odrzucanie wywołań pochodzących z projektów, którym nie przyznano dostępu lub które nie zostały włączone przez interfejs API.

Protokół OAuth

Pod względem formatu tokeny OAuth wyglądają podobnie do kluczy interfejsów API, ale są bezpieczniejsze i można połączyć je z kontami lub tożsamościami użytkowników. Tokenów tych używa się głównie wtedy, gdy interfejsy API dają programiście możliwość dostępu do danych użytkownika.

Klucze interfejsu API dają programistom dostęp do wszystkich funkcji interfejsu API, z kolei identyfikatory klienta OAuth opierają się na zakresach – różnym tożsamościom są nadawane różne uprawnienia.

Konta usługi

Konto usługi to szczególnego rodzaju konto Google, które należy nie do indywidualnego użytkownika końcowego, a do aplikacji lub maszyny wirtualnej. Aplikacja przyjmuje tożsamość konta usługi do wywoływania interfejsów API Google, by użytkownicy nie byli w to bezpośrednio zaangażowani.

Z konta usługi można korzystać, dostarczając jego klucz prywatny aplikacji lub używając wbudowanych kont usługi działających w Cloud Functions, Google App Engine, Compute Engine czy Google Kubernetes Engine.

Aby szczegółowo zapoznać się z tym, jak działają konta usług i role, wyświetl moduł Konta usług i role: podstawy.

Zadanie 12. Uwierzytelnianie i autoryzacja w interfejsie API typu JSON/REST usługi Cloud Storage

Cloud Storage to platforma, która przyznaje dostęp do danych użytkownika przechowywanych na serwerze , więc zanim skorzystasz z jej usług, musisz wygenerować token OAuth.

  1. W nowej karcie otwórz OAuth 2.0 Playground. Usługa ta umożliwia łatwe generowanie tokenów OAuth.

  2. Przewiń stronę w dół i wybierz Cloud Storage API V1.

  3. Następnie wybierz zakres https://www.googleapis.com/auth/devstorage.full_control:

Krok 1. Wybierz i autoryzuj stronę interfejsów API

  1. Kliknij niebieskie pole o treści Authorize APIs. Spowoduje to otwarcie strony logowania przez Google.

  2. Wybierz swoją nazwę użytkownika Qwiklabs, a gdy pojawi się prośba o udzielenie zgód, kliknij Continue.

Do wykonania kroku 2 będzie potrzebny wygenerowany kod autoryzacji.

  1. Kliknij Exchange authorization code for tokens. Jeśli widok przeniesie Cię do kroku 3, kliknij panel kroku 2. Powinna wyświetlić się strona podobna do tej:

Panel kroku 2 zawiera pola: Kod autoryzacji, Token odświeżania i Token dostępu

  1. Skopiuj token dostępu – zostanie on użyty w następnym kroku.

Zadanie 13. Tworzenie zasobnika przy użyciu interfejsu API typu JSON/REST usługi Cloud Storage

  1. Wróć do sesji Cloud Shell. W interfejsie wiersza poleceń wpisz ls i naciśnij Enter. Powinien wyświetlić się utworzony przez Ciebie wcześniej plik values.json oraz plik README-cloudshell.txt:

Dane wyjściowe:

README-cloudshell.txt values.json
  1. Uruchom poniższe polecenie, aby ustawić token OAuth2 jako zmienną środowiskową, zastępując wartość <YOUR_TOKEN> wygenerowanym przez siebie tokenem dostępu:

export OAUTH2_TOKEN=<YOUR_TOKEN>
  1. Uruchom poniższe polecenie, aby ustawić identyfikator projektu jako zmienną środowiskową, zastępując wartość <YOUR_PROJECT_ID> identyfikatorem projektu Qwiklabs:

export PROJECT_ID=<YOUR_PROJECT_ID>
  1. Teraz uruchom to polecenie, aby utworzyć zasobnik Cloud Storage:

curl -X POST --data-binary @values.json \ -H "Authorization: Bearer $OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://www.googleapis.com/storage/v1/b?project=$PROJECT_ID"
  1. Wynik powinien wyglądać tak:
{ "kind": "storage#bucket", "selfLink": "https://www.googleapis.com/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7", "id": "qwiklabs-gcp-02-5d551758b5a7", "name": "qwiklabs-gcp-02-5d551758b5a7", "projectNumber": "670840659006", "metageneration": "1", "location": "US", "storageClass": "MULTI_REGIONAL", "etag": "CAE=", "timeCreated": "2020-11-11T06:41:40.901Z", "updated": "2020-11-11T06:41:40.901Z", "iamConfiguration": { "bucketPolicyOnly": { "enabled": false }, "uniformBucketLevelAccess": { "enabled": false } }, "locationType": "multi-region" } Uwaga: jeśli wyświetlił się komunikat o błędzie informujący, że użycie danej nazwy zasobnika jest niedozwolone, oznacza to wystąpienie konfliktu z uniwersalną konwencją nazewnictwa zasobników. Edytuj plik values.json i zmień nazwę zasobnika.

Żądanie to łączy w sobie wszystkie przedstawione do tej pory zagadnienia. Udało Ci się użyć narzędzia interfejsu wiersza poleceń curl do utworzenia żądania metody HTTP POST, przekazać plik values.json do treści żądania, a także przekazać token OAuth i specyfikację JSON jako nagłówki żądania. Żądanie zostało przekierowane do punktu końcowego Cloud Storage zawierającego identyfikator Twojego projektu jako parametr ciągu zapytania.

Wyświetlanie nowo utworzonego zasobnika Cloud Storage

  • Aby wyświetlić nowo utworzony zasobnik, w menu nawigacyjnym wybierz Cloud Storage > Zasobniki.

Testowanie ukończonego zadania

Kliknij Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się utworzyć zasobnik przy użyciu interfejsu API typu JSON/REST usługi Cloud Storage, wyświetli się odpowiedni wynik.

Utworzenie zasobnika przy użyciu interfejsu API typu JSON/REST usługi Cloud Storage

Zadanie 14. Przesyłanie pliku przy użyciu interfejsu API typu JSON/REST usługi Cloud Storage

Interfejsu API typu JSON/REST usługi Cloud Storage możesz używać w celu przesyłania plików do zasobników.

  1. Zapisz na komputerze poniższy obraz, nazywając plik demo-image.png:

Pies

  1. W sesji Cloud Shell, w prawym górnym rogu strony kliknij ikonę menu z 3 kropkami. Kliknij Upload > Choose File. Wybierz i prześlij plik demo-image.png. Spowoduje to dodanie obrazu do Twojego katalogu.

  2. Uruchom poniższe polecenie, aby uzyskać ścieżkę do pliku obrazu:

realpath demo-image.png

Wynik powinien wyglądać tak:

/home/gcpstaging25084_student/demo-image.png
  1. Ustaw ścieżkę pliku jako zmienną środowiskową, uruchamiając poniższe polecenie i zastępując część <DEMO_IMAGE_PATH> danymi wyjściowymi uzyskanymi w poprzednim poleceniu:

export OBJECT=<DEMO_IMAGE_PATH>
  1. Ustaw nazwę zasobnika jako zmienną środowiskową, uruchamiając poniższe polecenie i zastępując część <YOUR_BUCKET> nazwą Twojego zasobnika:

export BUCKET_NAME=<YOUR_BUCKET>
  1. Teraz uruchom to polecenie, aby przesłać obraz do swojego zasobnika Cloud Storage:

curl -X POST --data-binary @$OBJECT \ -H "Authorization: Bearer $OAUTH2_TOKEN" \ -H "Content-Type: image/png" \ "https://www.googleapis.com/upload/storage/v1/b/$BUCKET_NAME/o?uploadType=media&name=demo-image"

Wynik powinien wyglądać tak:

{ "kind": "storage#object", "id": "qwiklabs-gcp-02-5d551758b5a7/demo-image/1605077118178936", "selfLink": "https://www.googleapis.com/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7/o/demo-image", "mediaLink": "https://www.googleapis.com/download/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7/o/demo-image?generation=1605077118178936&alt=media", "name": "demo-image", "bucket": "qwiklabs-gcp-02-5d551758b5a7", "generation": "1605077118178936", "metageneration": "1", "contentType": "image/png", "storageClass": "MULTI_REGIONAL", "size": "401951", "md5Hash": "LbpHpwhnApQKQx9IEXjTsQ==", "crc32c": "j5oPrg==", "etag": "CPis3Zvy+ewCEAE=", "timeCreated": "2020-11-11T06:45:18.178Z", "updated": "2020-11-11T06:45:18.178Z", "timeStorageClassUpdated": "2020-11-11T06:45:18.178Z" }
  1. Aby zobaczyć, czy obraz został dodany do zasobnika, otwórz menu nawigacyjne i wybierz Cloud Storage > Zasobniki.

  2. Następnie kliknij nazwę zasobnika. Powinien w nim być plik demo-image:

wyróżniony plik demo-image

  1. Kliknięcie obrazu spowoduje otwarcie strony Szczegóły obiektu.

Testowanie ukończonego zadania

Kliknij Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się przesłać plik przy użyciu interfejsu API typu JSON/REST usługi Cloud Storage, wyświetli się odpowiedni wynik.

Przesłanie pliku przy użyciu interfejsu API typu JSON/REST usługi Cloud Storage

Gratulacje!

Ten moduł pozwolił Ci przyswoić sporo informacji dotyczących interfejsów API, a także wykonać praktyczne ćwiczenia związane z interfejsem API typu JSON/REST usługi Cloud Storage. Masz też już wiedzę na temat interfejsów API w Google Cloud, architektury API, protokołu i metod HTTP, punktów końcowych, interfejsów API typu REST, plików JSON oraz zasad uwierzytelniania przez API. Możesz teraz śmiało podjąć się przejścia innych dostępnych w Qwiklabs modułów dotyczących interfejsów API.

Ukończ kurs

Ten moduł do samodzielnego ukończenia jest częścią kursów: OK Google: Build Interactive Apps with Google Assistant, Machine Learning APIs, Workspace Integrations, Developing Data and Machine Learning Apps with C#, Exploring APIs oraz Develop and Secure APIs with Apigee X. Każdy kurs składa się z zestawu powiązanych ze sobą modułów, które razem tworzą ścieżkę szkoleniową. Za ukończenie kursu otrzymujesz odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Swoje odznaki możesz ustawiać jako widoczne publicznie, a także podać do nich linki w swoim CV lub w mediach społecznościowych. Zarejestruj się na dowolny kurs zawierający ten moduł, a zostanie on automatycznie zaliczony. Wszystkie dostępne kursy znajdziesz w katalogu Google Cloud Skills Boost.

Kolejne kroki / Więcej informacji

Jeśli chcesz dowiedzieć się więcej o interfejsach API, nie przegap tych modułów:

Szkolenia i certyfikaty Google Cloud

…pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 13 stycznia 2023 r.

Ostatni test modułu: 13 stycznia 2023 r.

Copyright 2024 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.