Krótkie wprowadzenie do Ruby

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ób channel 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

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

  2. Na stronie Utwórz dane logowania kliknij przycisk Anuluj.

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

  4. Wybierz kartę Dane logowania, kliknij Utwórz dane logowania i wybierz Identyfikator klienta OAuth.

  5. Wybierz typ aplikacji Inne, wpisz nazwę „Krótki przewodnik po YouTube Data API” i kliknij przycisk Utwórz.

  6. Kliknij OK, aby zamknąć wynikowe okno.

  7. Kliknij przycisk (Pobierz JSON) po prawej stronie identyfikatora klienta.

  8. 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:

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

  2. Kliknij przycisk Akceptuj.
  3. 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.

Więcej informacji