Z tego przewodnika dowiesz się, jak skonfigurować prostą aplikację wiersza poleceń w Pythonie, która wysyła żądania do interfejsu YouTube Data API. Ten przewodnik zawiera informacje o tym, jak wysłać 2 żądania do interfejsu API:
- Aby pobrać informacje o kanale GoogleDevelopers w YouTube, użyjesz klucza interfejsu API, który identyfikuje Twoją aplikację.
- Aby przesłać autoryzowane żądanie, które pobiera informacje o Twoim kanale w YouTube, użyjesz identyfikatora klienta OAuth 2.0.
Wymagania wstępne
Aby uruchomić ten przewodnik, musisz mieć:
Python 2.7 lub Python 3.5+
pip
narzędzie do zarządzania pakietami,Biblioteka klienta interfejsów API Google dla języka Python:
pip install --upgrade google-api-python-client
Biblioteki
google-auth-oauthlib
igoogle-auth-httplib2
do autoryzacji użytkowników.pip install --upgrade google-auth-oauthlib google-auth-httplib2
Krok 1. Skonfiguruj projekt i dane logowania
Utwórz lub wybierz projekt w Konsoli interfejsów API. Wykonaj w konsoli interfejsów API te czynności dotyczące projektu:
W panelu biblioteki wyszukaj interfejs YouTube Data API v3. Kliknij pozycję tego interfejsu API i upewnij się, że jest on włączony w Twoim projekcie.
W panelu danych logowania utwórz 2 zestawy danych logowania:
Utwórz klucz interfejsu API Klucz interfejsu API będzie służyć do wysyłania żądań interfejsu API, które nie wymagają autoryzacji użytkownika. Na przykład nie musisz mieć autoryzacji użytkownika, aby pobrać informacje o publicznym kanale w YouTube.
Utwórz identyfikator klienta OAuth 2.0 Ustaw typ aplikacji na Inne. W przypadku żądań, które wymagają autoryzacji użytkownika, musisz używać danych logowania OAuth 2.0. Na przykład musisz uzyskać autoryzację użytkownika, aby pobrać informacje o kanale w YouTube obecnie uwierzytelnionego użytkownika.
Pobierz plik JSON zawierający dane logowania OAuth 2.0. Plik ma nazwę podobną do
client_secret_CLIENTID.json
, gdzieCLIENTID
to identyfikator klienta projektu.
Krok 2. Skonfiguruj i uruchom przykład
Użyj widżetu API Explorer w panelu bocznym, aby uzyskać przykładowy kod do pobierania informacji o kanale GoogleDevelopers w YouTube. To żądanie używa klucza interfejsu API do identyfikowania aplikacji i nie wymaga autoryzacji użytkownika ani specjalnych uprawnień od użytkownika uruchamiającego przykład.
- Otwórz dokumentację metody channels.list interfejsu API.
Na tej stronie w sekcji „Typowe przypadki użycia” znajduje się tabela, która wyjaśnia kilka typowych sposobów użycia tej metody. Pierwsza pozycja w tabeli dotyczy wyników wyświetlania według identyfikatora kanału.
Kliknij symbol kodu przy pierwszej pozycji, aby otworzyć i wypełnić narzędzie APIs Explorer na pełnym ekranie.
Po lewej stronie narzędzia APIs Explorer w trybie pełnoekranowym widać:
Pod nagłówkiem Parametry żądania znajduje się lista parametrów obsługiwanych przez tę metodę. Wartości parametrów
part
iid
powinny być ustawione. Wartość parametruid
, czyliUC_x5XG1OV2P6uZZ5FSM9Ttw
, to identyfikator kanału GoogleDevelopers w YouTube.Pod parametrami znajduje się sekcja Dane logowania. Menu w tej sekcji powinno zawierać wartość Klucz interfejsu API. Eksplorator interfejsów API domyślnie używa danych logowania wersji demonstracyjnej, aby ułatwić rozpoczęcie pracy. Aby uruchomić przykład lokalnie, użyjesz własnego klucza interfejsu API.
Po prawej stronie eksploratora interfejsów API na pełnym ekranie znajdują się karty z przykładami kodu w różnych językach. Wybierz kartę Python.
Skopiuj przykładowy kod i zapisz go w pliku o nazwie
example.py
.W pobranym przykładzie znajdź ciąg znaków
YOUR_API_KEY
i zastąp go kluczem interfejsu API utworzonym w kroku 1 tego przewodnika.Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:
python example.py
Przykładowy kod powinien wykonać żądanie i wyświetlić odpowiedź w
STDOUT
.
Krok 3. Uruchom autoryzowane żądanie
W tym kroku zmodyfikujesz przykładowy kod, aby zamiast pobierać informacje o kanale GoogleDevelopers w YouTube, pobierał informacje o Twoim kanale w YouTube. To żądanie wymaga autoryzacji użytkownika.
Wróć do dokumentacji metody channels.list interfejsu API.
W sekcji „Typowe przypadki użycia” kliknij symbol kodu przy trzeciej pozycji na liście w tabeli. W tym przypadku chodzi o wywołanie metody
list
dla „my channel”.Po lewej stronie narzędzia APIs Explorer w trybie pełnoekranowym zobaczysz listę parametrów, a za nią sekcję Dane logowania. W porównaniu z przykładem, w którym pobierasz informacje o kanale GoogleDevelopers, występują jednak 2 różnice:
W sekcji parametrów zamiast wartości parametru
id
powinna być ustawiona wartość parametrumine
natrue
. To polecenie nakazuje serwerowi API pobranie informacji o kanale aktualnie uwierzytelnionego użytkownika.W sekcji Dane logowania w menu powinno być wybrane Google OAuth 2.0.
Jeśli klikniesz link Pokaż zakresy, powinien być zaznaczony zakres https://www.googleapis.com/auth/youtube.readonly.
Podobnie jak w poprzednim przykładzie wybierz kartę Python, skopiuj przykładowy kod i zapisz go w
example.py
.W kodzie znajdź ciąg znaków
YOUR_CLIENT_SECRET_FILE.json
i zastąp go lokalizacją pliku tajnych danych klienta pobranego w kroku 1 tego przewodnika.Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:
python example.py
-
Skopiuj adres URL z konsoli i otwórz go w przeglądarce.
Jeśli nie jesteś zalogowany(-a) na konto Google, pojawi się prośba o zalogowanie się. Jeśli logujesz się na kilka kont Google, pojawi się prośba o wybranie jednego konta do autoryzacji.
Kliknij przycisk, aby przyznać aplikacji dostęp do zakresów określonych w przykładowym kodzie.
-
Skopiuj kod autoryzacji z przeglądarki i wklej go w terminalu. Następnie możesz zamknąć kartę przeglądarki używaną w procesie autoryzacji.
Odpowiedź interfejsu API powinna ponownie zostać wydrukowana w
STDOUT
.