রুবি কুইকস্টার্ট

এই পৃষ্ঠার বাকি অংশে বর্ণিত ধাপগুলি সম্পূর্ণ করুন, এবং প্রায় পাঁচ মিনিটের মধ্যে আপনার কাছে একটি সহজ রুবি কমান্ড-লাইন অ্যাপ্লিকেশন থাকবে যা YouTube ডেটা API-তে অনুরোধ করবে।

এই নির্দেশিকায় ব্যবহৃত নমুনা কোডটি GoogleDevelopers ইউটিউব চ্যানেলের জন্য channel রিসোর্সটি পুনরুদ্ধার করে এবং সেই রিসোর্স থেকে কিছু মৌলিক তথ্য প্রিন্ট করে।

পূর্বশর্ত

এই কুইকস্টার্টটি চালানোর জন্য, আপনার প্রয়োজন হবে:

  • রুবি ২.০ বা তার বেশি।
  • ইন্টারনেট এবং একটি ওয়েব ব্রাউজার অ্যাক্সেস।
  • একটি গুগল অ্যাকাউন্ট।

ধাপ ১: ইউটিউব ডেটা এপিআই চালু করুন

  1. এই উইজার্ডটি ব্যবহার করে গুগল ডেভেলপারস কনসোলে একটি প্রকল্প তৈরি বা নির্বাচন করুন এবং স্বয়ংক্রিয়ভাবে API চালু করুন। Continue এ ক্লিক করুন, তারপর credentials এ যান

  2. ক্রিয়েশনাল তৈরি করুন পৃষ্ঠায়, বাতিল করুন বোতামে ক্লিক করুন।

  3. পৃষ্ঠার শীর্ষে, OAuth সম্মতি স্ক্রিন ট্যাবটি নির্বাচন করুন। একটি ইমেল ঠিকানা নির্বাচন করুন, যদি ইতিমধ্যে সেট না করা থাকে তবে একটি পণ্যের নাম লিখুন এবং সংরক্ষণ বোতামে ক্লিক করুন।

  4. শংসাপত্র ট্যাব নির্বাচন করুন, শংসাপত্র তৈরি করুন বোতামে ক্লিক করুন এবং OAuth ক্লায়েন্ট আইডি নির্বাচন করুন।

  5. অ্যাপ্লিকেশনের ধরণ Other নির্বাচন করুন, "YouTube Data API Quickstart" নামটি লিখুন, এবং Create বোতামে ক্লিক করুন।

  6. ফলাফলস্বরূপ ডায়ালগটি খারিজ করতে ঠিক আছে ক্লিক করুন।

  7. ক্লায়েন্ট আইডির ডানদিকে (JSON ডাউনলোড করুন) বোতামে ক্লিক করুন।

  8. ডাউনলোড করা ফাইলটি আপনার কার্যকরী ডিরেক্টরিতে সরান এবং এটির নাম পরিবর্তন করুন client_secret.json

ধাপ ২: গুগল ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

লাইব্রেরি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

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. নমুনাটি আপনার ডিফল্ট ব্রাউজারে একটি নতুন উইন্ডো বা ট্যাব খোলার চেষ্টা করে। যদি এটি ব্যর্থ হয়, তাহলে কনসোল থেকে URLটি কপি করুন এবং ম্যানুয়ালি আপনার ব্রাউজারে এটি খুলুন।

    যদি আপনি ইতিমধ্যেই আপনার Google অ্যাকাউন্টে লগ ইন না করে থাকেন, তাহলে আপনাকে লগ ইন করতে বলা হবে। যদি আপনি একাধিক Google অ্যাকাউন্টে লগ ইন করে থাকেন, তাহলে অনুমোদনের জন্য আপনাকে একটি অ্যাকাউন্ট নির্বাচন করতে বলা হবে।

  2. Accept বাটনে ক্লিক করুন।
  3. আপনাকে যে কোডটি দেওয়া হয়েছে তা কপি করুন, কমান্ড-লাইন প্রম্পটে পেস্ট করুন এবং এন্টার টিপুন। অনুমোদন দেওয়ার পর আপনাকে যে পৃষ্ঠায় পুনঃনির্দেশিত করা হবে তার URL-এ কোডটি প্রদর্শিত হতে পারে:

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

মন্তব্য

  • অনুমোদনের তথ্য ফাইল সিস্টেমে সংরক্ষণ করা হয়, তাই পরবর্তী সম্পাদনগুলি অনুমোদনের জন্য অনুরোধ করবে না।
  • এই উদাহরণে অনুমোদন প্রবাহটি একটি কমান্ড-লাইন অ্যাপ্লিকেশনের জন্য ডিজাইন করা হয়েছে। একটি ওয়েব অ্যাপ্লিকেশনে অনুমোদন কীভাবে সম্পাদন করতে হয় সে সম্পর্কে তথ্যের জন্য, ওয়েব সার্ভার অ্যাপ্লিকেশনের জন্য OAuth 2.0 ব্যবহার দেখুন।

আরও পড়া