Selesaikan langkah-langkah yang dijelaskan di bagian tersisa pada halaman ini, dan dalam sekitar lima menit Anda akan memiliki aplikasi command-line Ruby sederhana yang membuat permintaan ke YouTube Data API.
Kode contoh yang digunakan dalam panduan ini mengambil resourcechannel
untuk channel YouTube GoogleDevelopers dan mencetak beberapa informasi dasar dari
resource tersebut.
Prasyarat
Untuk menjalankan panduan memulai ini, Anda memerlukan:
- Ruby 2.0 atau yang lebih baru.
- Akses ke internet dan browser web.
- Akun Google.
Langkah 1: Aktifkan YouTube Data API
-
Gunakan wizard ini untuk membuat atau memilih project di Konsol Google Developer dan mengaktifkan API secara otomatis. Klik Lanjutkan, lalu Buka kredensial.
-
Di halaman Buat kredensial, klik tombol Batal.
-
Di bagian atas halaman, pilih tab Layar persetujuan OAuth. Pilih Alamat email, masukkan Nama produk jika belum ditetapkan, lalu klik tombol Simpan.
-
Pilih tab Kredensial, klik tombol Buat kredensial, lalu pilih ID klien OAuth.
-
Pilih jenis aplikasi Lainnya, masukkan nama "YouTube Data API Quickstart", lalu klik tombol Buat.
-
Klik Oke untuk menutup dialog yang muncul.
-
Klik tombol
(Download JSON) di sebelah kanan client ID. -
Pindahkan file yang didownload ke direktori kerja Anda dan ganti namanya menjadi
client_secret.json
.
Langkah 2: Instal Library Klien Google
Jalankan perintah berikut untuk menginstal library:
gem install google-api-client
Lihat halaman penginstalan library untuk mengetahui opsi penginstalan alternatif.
Langkah 3: Siapkan contoh
Buat file bernama quickstart.rb
di direktori kerja Anda dan salin kode berikut:
# 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')
Langkah 4: Jalankan contoh
Jalankan sampel menggunakan perintah berikut:
ruby quickstart.rb
Saat pertama kali dijalankan, contoh aplikasi akan meminta Anda untuk mengotorisasi akses:
Contoh ini mencoba membuka jendela atau tab baru di browser default Anda. Jika gagal, salin URL dari konsol dan buka secara manual di browser Anda.
Jika belum login ke Akun Google, Anda akan diminta untuk login. Jika Anda login ke beberapa Akun Google, Anda akan diminta memilih satu akun yang akan digunakan untuk otorisasi.
- Klik tombol Setuju.
Salin kode yang diberikan, tempelkan ke prompt command line, lalu tekan Enter. Kode tersebut dapat muncul di URL halaman tempat Anda dialihkan setelah memberikan otorisasi:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Catatan
- Informasi otorisasi disimpan di sistem file, sehingga eksekusi berikutnya tidak akan meminta otorisasi.
- Alur otorisasi dalam contoh ini dirancang untuk aplikasi command line. Untuk mengetahui informasi tentang cara melakukan otorisasi di aplikasi web, lihat Menggunakan OAuth 2.0 untuk Aplikasi Server Web.