Wykonaj czynności opisane w dalszej części tej strony, a za około 5 minut otrzymasz prostą aplikację wiersza poleceń Ruby, która będzie wysyłać żądania do interfejsu YouTube Data API.
Przykładowy kod używany w tym przewodniku pobiera zasóbchannel
dla kanału YouTube Google Developers i drukuje podstawowe informacje z tego zasobu.
Wymagania wstępne
Aby uruchomić ten krótki przewodnik, musisz mieć:
- Ruby 2.0 lub nowszego.
- Dostęp do internetu i przeglądarki.
- Musisz mieć konto Google.
Krok 1. Włącz YouTube Data API
-
Aby utworzyć lub wybrać projekt w Google Developers Console i włączyć interfejs API, skorzystaj z tego kreatora. Kliknij Dalej, a następnie Otwórz dane logowania.
-
Na stronie Utwórz dane logowania kliknij przycisk Anuluj.
-
U góry strony wybierz kartę Ekran zgody OAuth. Wybierz Adres e-mail, wpisz nazwę produktu, jeśli nie została jeszcze ustawiona, i kliknij przycisk Zapisz.
-
Wybierz kartę Dane logowania, kliknij Utwórz dane logowania i wybierz Identyfikator klienta OAuth.
-
Wybierz typ aplikacji Inne, wpisz nazwę „Krótki przewodnik po YouTube Data API” i kliknij przycisk Utwórz.
-
Kliknij OK, aby zamknąć wynikowe okno.
-
Kliknij przycisk
(Pobierz JSON) po prawej stronie identyfikatora klienta. -
Przenieś pobrany plik do katalogu roboczego i zmień jego nazwę
client_secret.json
.
Krok 2. Zainstaluj Bibliotekę klienta Google
Uruchom to polecenie, aby zainstalować bibliotekę:
gem install google-api-client
Alternatywne opcje instalacji znajdziesz na stronie instalacji biblioteki.
Krok 3. Skonfiguruj przykład
Utwórz plik o nazwie quickstart.rb
w katalogu roboczym i skopiuj ten kod:
# Sample Ruby code for user authorization require 'rubygems' gem 'google-api-client', '>0.7' require 'google/apis' require 'google/apis/youtube_v3' require 'googleauth' require 'googleauth/stores/file_token_store' require 'fileutils' require 'json' # REPLACE WITH VALID REDIRECT_URI FOR YOUR CLIENT REDIRECT_URI = 'http://localhost' APPLICATION_NAME = 'YouTube Data API Ruby Tests' # REPLACE WITH NAME/LOCATION OF YOUR client_secrets.json FILE CLIENT_SECRETS_PATH = 'client_secret.json' # REPLACE FINAL ARGUMENT WITH FILE WHERE CREDENTIALS WILL BE STORED CREDENTIALS_PATH = File.join(Dir.home, '.credentials', "youtube-quickstart-ruby-credentials.yaml") # SCOPE FOR WHICH THIS SCRIPT REQUESTS AUTHORIZATION SCOPE = Google::Apis::YoutubeV3::AUTH_YOUTUBE_READONLY def authorize FileUtils.mkdir_p(File.dirname(CREDENTIALS_PATH)) client_id = Google::Auth::ClientId.from_file(CLIENT_SECRETS_PATH) token_store = Google::Auth::Stores::FileTokenStore.new(file: CREDENTIALS_PATH) authorizer = Google::Auth::UserAuthorizer.new( client_id, SCOPE, token_store) user_id = 'default' credentials = authorizer.get_credentials(user_id) if credentials.nil? url = authorizer.get_authorization_url(base_url: REDIRECT_URI) puts "Open the following URL in the browser and enter the " + "resulting code after authorization" puts url code = gets credentials = authorizer.get_and_store_credentials_from_code( user_id: user_id, code: code, base_url: REDIRECT_URI) end credentials end # Initialize the API service = Google::Apis::YoutubeV3::YouTubeService.new service.client_options.application_name = APPLICATION_NAME service.authorization = authorize # Sample ruby code for channels.list def channels_list_by_username(service, part, **params) response = service.list_channels(part, params).to_json item = JSON.parse(response).fetch("items")[0] puts ("This channel's ID is #{item.fetch("id")}. " + "Its title is '#{item.fetch("snippet").fetch("title")}', and it has " + "#{item.fetch("statistics").fetch("viewCount")} views.") end channels_list_by_username(service, 'snippet,contentDetails,statistics', for_username: 'GoogleDevelopers')
Krok 4. Uruchom przykład
Uruchom przykład za pomocą tego polecenia:
ruby quickstart.rb
Przy pierwszym uruchomieniu próbki pojawi się prośba o autoryzację dostępu:
W tym przykładzie spróbujemy otworzyć nowe okno lub kartę w domyślnej przeglądarce. Jeśli to nie pomoże, skopiuj URL z konsoli i ręcznie otwórz go w przeglądarce.
Jeśli nie zalogowano się na konto Google, pojawi się prośba o zalogowanie. Jeśli zalogujesz się na wiele kont Google, zobaczysz prośbę o wybranie jednego z nich.
- Kliknij przycisk Akceptuj.
Skopiuj podany kod, wklej go w wierszu poleceń i naciśnij Enter. Kod może pojawić się w adresie URL strony, na którą następuje przekierowanie po jej autoryzacji:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Uwagi
- Informacje o autoryzacji są przechowywane w systemie plików, więc dalsze instrukcje nie będą prosić o autoryzację.
- Ten proces autoryzacji jest przeznaczony dla aplikacji wiersza poleceń. Informacje o przeprowadzaniu autoryzacji w aplikacji internetowej znajdziesz w artykule Korzystanie z OAuth 2.0 dla aplikacji serwera WWW.