Ruby Quick Start

مراحل توضیح داده شده در ادامه این صفحه را کامل کنید و در عرض حدود پنج دقیقه یک برنامه خط فرمان ساده Ruby خواهید داشت که درخواست هایی را به YouTube Data API ارسال می کند.

کد نمونه استفاده شده در این راهنما، منبع channel را برای کانال YouTube GoogleDevelopers بازیابی می کند و برخی از اطلاعات اولیه را از آن منبع چاپ می کند.

پیش نیازها

برای اجرای این شروع سریع، به موارد زیر نیاز دارید:

  • روبی 2.0 یا بالاتر.
  • دسترسی به اینترنت و مرورگر وب.
  • یک حساب کاربری گوگل

مرحله 1: YouTube Data API را روشن کنید

  1. از این جادوگر برای ایجاد یا انتخاب یک پروژه در Google Developers Console استفاده کنید و به طور خودکار API را روشن کنید. روی Continue کلیک کنید، سپس به اعتبارنامه بروید .

  2. در صفحه Create credentials ، روی دکمه Cancel کلیک کنید.

  3. در بالای صفحه، برگه صفحه رضایت OAuth را انتخاب کنید. یک آدرس ایمیل را انتخاب کنید، نام محصول را در صورتی که قبلا تنظیم نشده است وارد کنید و روی دکمه ذخیره کلیک کنید.

  4. تب Credentials را انتخاب کنید، روی دکمه Create credentials کلیک کنید و OAuth Client ID را انتخاب کنید.

  5. نوع برنامه دیگر را انتخاب کنید، نام «YouTube Data API Quickstart» را وارد کنید و روی دکمه ایجاد کلیک کنید.

  6. روی OK کلیک کنید تا گفتگوی به‌دست‌آمده رد شود.

  7. روی دکمه (دانلود JSON) در سمت راست شناسه مشتری کلیک کنید.

  8. فایل دانلود شده را به دایرکتوری کاری خود منتقل کنید و نام آن را به client_secret.json تغییر دهید.

مرحله ۲: کتابخانه Google Client را نصب کنید

برای نصب کتابخانه دستور زیر را اجرا کنید:

gem install google-api-client

برای گزینه های نصب جایگزین به صفحه نصب کتابخانه مراجعه کنید.

مرحله 3: نمونه را تنظیم کنید

یک فایل به نام quickstart.rb در دایرکتوری کاری خود ایجاد کنید و در کد زیر کپی کنید:

# 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: نمونه را اجرا کنید

نمونه را با استفاده از دستور زیر اجرا کنید:

ruby quickstart.rb

اولین باری که نمونه را اجرا می‌کنید، از شما می‌خواهد که دسترسی را مجاز کنید:

  1. نمونه تلاش می کند یک پنجره یا برگه جدید در مرورگر پیش فرض شما باز کند. اگر این کار انجام نشد، URL را از کنسول کپی کنید و به صورت دستی آن را در مرورگر خود باز کنید.

    اگر قبلاً وارد حساب Google خود نشده اید، از شما خواسته می شود که وارد شوید. اگر به چندین حساب Google وارد شده اید، از شما خواسته می شود یک حساب را برای استفاده برای مجوز انتخاب کنید.

  2. روی دکمه Accept کلیک کنید.
  3. کدی که به شما داده شده را کپی کنید، آن را در خط فرمان قرار دهید و Enter را فشار دهید. کد ممکن است در URL صفحه ای که پس از اعطای مجوز به آن هدایت می شوید ظاهر شود:

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

یادداشت ها

  • اطلاعات مجوز در سیستم فایل ذخیره می شود، بنابراین اجرای بعدی درخواست مجوز نمی کند.
  • جریان مجوز در این مثال برای یک برنامه خط فرمان طراحی شده است. برای اطلاعات در مورد نحوه اجرای مجوز در یک برنامه وب، به استفاده از OAuth 2.0 برای برنامه های وب سرور مراجعه کنید.

در ادامه مطلب