مراحل شرحدادهشده در ادامه این صفحه را تکمیل کنید و در حدود پنج دقیقه یک برنامه خط فرمان Ruby ساده خواهید داشت که درخواستهایی به YouTube Data API ارسال میکند.
کد نمونه استفادهشده در این راهنما منبعchannel را برای کانال YouTube GoogleDevelopers بازیابی میکند و برخی اطلاعات پایه را از آن منبع چاپ میکند.
پیشنیازها
برای اجرای این راهنمای شروع سریع، به موارد زیر نیاز دارید:
- Ruby 2.0 یا بالاتر.
- دسترسی به اینترنت و مرورگر وب.
- «حساب Google».
مرحله ۱: روشن کردن YouTube Data API
-
از این جادوگر برای ایجاد یا انتخاب پروژه در Google Developers Console و روشن کردن خودکار API استفاده کنید. روی ادامه، سپس رفتن به اطلاعات کاربری کلیک کنید.
-
در صفحه ایجاد اطلاعات اعتباری، روی دکمه لغو کلیک کنید.
-
در بالای صفحه، برگه صفحه کسب رضایت OAuth را انتخاب کنید. نشانی ایمیل را انتخاب کنید، اگر نام محصول ازقبل تنظیم نشده است، آن را وارد کنید و روی دکمه ذخیره کلیک کنید.
-
برگه اعتبارنامهها را انتخاب کنید، روی دکمه ایجاد اعتبارنامهها کلیک کنید و شناسه کارخواه OAuth را انتخاب کنید.
-
نوع برنامه دیگر را انتخاب کنید، نام «شروع سریع YouTube Data API» را وارد کنید و روی دکمه ایجاد کلیک کنید.
-
برای بستن کادر گفتگوی حاصل، روی تأیید کلیک کنید.
-
روی دکمه (بارگیری JSON) در سمت چپ شناسه کارخواه کلیک کنید.
-
فایل بارگیریشده را به دایرکتوری کاریتان منتقل کنید و نام آن را به
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
اولینباری که نمونه را اجرا میکنید، از شما خواسته میشود دسترسی را مجاز کنید:
نمونه تلاش میکند پنجره یا برگه جدیدی در مرورگر پیشفرضتان باز کند. اگر این کار انجام نشد، نشانی وب را از کنسول کپی کنید و آن را بهصورت دستی در مرورگرتان باز کنید.
اگر ازقبل به سیستم «حساب Google» خود وارد نشده باشید، از شما خواسته میشود به سیستم وارد شوید. اگر به سیستم چند حساب Google وارد شده باشید، از شما خواسته میشود یک حساب را برای استفاده در فرایند صدور مجوز انتخاب کنید.
- روی دکمه پذیرفتن کلیک کنید.
کدی را که به شما داده شده است کپی کنید، آن را در پیامواره خط فرمان جایگذاری کنید، و کلید Enter را فشار دهید. ممکن است کد در نشانی وب صفحهای که پساز اعطای مجوز به آن هدایت میشوید نشان داده شود:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
یادداشتها
- اطلاعات صدور مجوز در سیستم فایل ذخیره میشود، بنابراین اجراهای بعدی درخواست صدور مجوز نخواهند کرد.
- جریان صدور مجوز در این مثال برای یک برنامه خط فرمان طراحی شده است. برای کسب اطلاعات درباره نحوه انجام مجوز در برنامه وب، استفاده از OAuth 2.0 برای برنامههای سرور وب را ببینید.