شروع سریع Ruby

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

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

پیش‌نیازها

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

  • ‫Ruby 2.0 یا بالاتر.
  • دسترسی به اینترنت و مرورگر وب.
  • «حساب Google».

مرحله ۱: روشن کردن YouTube Data API

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

  2. در صفحه ایجاد اطلاعات اعتباری، روی دکمه لغو کلیک کنید.

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

  4. برگه اعتبارنامه‌ها را انتخاب کنید، روی دکمه ایجاد اعتبارنامه‌ها کلیک کنید و شناسه کارخواه OAuth را انتخاب کنید.

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

  6. برای بستن کادر گفتگوی حاصل، روی تأیید کلیک کنید.

  7. روی دکمه (بارگیری JSON) در سمت چپ شناسه کارخواه کلیک کنید.

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

مرحله ۲: نصب کردن «کتابخانه کارخواه Google»

فرمان زیر را برای نصب کتابخانه اجرا کنید:

gem install google-api-client

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

مرحله ۳: راه‌اندازی نمونه

فایلی با نام 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')

مرحله ۴: اجرای نمونه

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

ruby quickstart.rb

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

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

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

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

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

یادداشت‌ها

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

مطالعه بیشتر