Ruby Hızlı Başlangıç Kılavuzu

Bu sayfanın geri kalanında açıklanan adımları tamamlayın. Beş dakika içinde YouTube Data API'ye istekte bulunan basit bir komut satırı uygulaması alacaksınız.

Bu kılavuzda kullanılan örnek kod, GoogleDevelopers YouTube kanalının channel kaynağını alır ve bu kaynaktan bazı temel bilgileri yazdırır.

Ön koşullar

Bu hızlı başlangıç kılavuzunu çalıştırmak için aşağıdakilere ihtiyacınız vardır:

  • Yakut 2.0 veya üstü.
  • İnternete ve web tarayıcısına erişim.
  • Google Hesabı.

1. Adım: YouTube Data API'yi etkinleştirin

  1. Google Developers Console'da proje oluşturmak veya seçmek ve API'yi otomatik olarak etkinleştirmek için bu sihirbazı kullanın. Devam'ı, ardından Kimlik bilgilerine git'i tıklayın.

  2. Kimlik bilgisi oluştur sayfasında İptal düğmesini tıklayın.

  3. Sayfanın üst kısmından OAuth izin ekranı sekmesini seçin. Bir E-posta adresi seçin, ayarlanmamışsa Ürün adı girin ve Kaydet düğmesini tıklayın.

  4. Kimlik bilgileri sekmesini seçin, Kimlik bilgisi oluştur düğmesini tıklayın ve OAuth istemci kimliği'ni seçin.

  5. Diğer uygulama türünü seçin, "YouTube Data API Hızlı Başlangıç" adını girin ve Oluştur düğmesini tıklayın.

  6. Açılan iletişim kutusunu kapatmak için Tamam'ı tıklayın.

  7. İstemci kimliğinin sağındaki (JSON'ı indir) düğmesini tıklayın.

  8. İndirilen dosyayı çalışma dizininize taşıyın ve client_secret.json olarak yeniden adlandırın.

2. Adım: Google İstemci Kitaplığı'nı yükleyin

Kitaplığı yüklemek için aşağıdaki komutu çalıştırın:

gem install google-api-client

Alternatif yükleme seçenekleri için kitaplığın yükleme sayfasına göz atın.

3. Adım: Örneği oluşturun

Çalışma dizininizde quickstart.rb adlı bir dosya oluşturun ve aşağıdaki kodu kopyalayın:

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

4. Adım: Örneği çalıştırın

Örneği aşağıdaki komutu kullanarak çalıştırın:

ruby quickstart.rb

Örneği ilk kez çalıştırdığınızda erişimi yetkilendirmeniz istenir:

  1. Örnek, varsayılan tarayıcınızda yeni bir pencere veya sekme açmaya çalışır. Bu işlem başarısız olursa URL'yi konsoldan kopyalayıp tarayıcınızda manuel olarak açın.

    Google hesabınıza giriş yapmadıysanız giriş yapmanız istenir. Birden çok Google hesabına giriş yaptıysanız yetkilendirme için kullanılacak bir hesap seçmeniz istenir.

  2. Kabul Et düğmesini tıklayın.
  3. Size verilen kodu kopyalayıp komut satırı istemine yapıştırın ve Enter tuşuna basın. Kod, yetkilendirme verildikten sonra yönlendirildiğiniz sayfanın URL'sinde görünebilir:

    http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#

Notlar

  • Yetkilendirme bilgileri dosya sisteminde depolanır. Bu nedenle, sonraki yürütme işlemleri için yetkilendirme istenmez.
  • Bu örnekteki yetkilendirme akışı, komut satırı uygulaması için tasarlanmıştır. Web uygulamalarında yetkilendirme gerçekleştirme hakkında bilgi edinmek için Web Sunucusu Uygulamaları için OAuth 2.0'ı Kullanma başlıklı makaleye bakın.

Daha fazla bilgi