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