Panduan Memulai Ruby

Selesaikan langkah-langkah yang dijelaskan di bagian lain halaman ini, dan dalam waktu 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 resource channel 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: Mengaktifkan YouTube Data API

  1. Gunakan wizard ini untuk membuat atau memilih project di Konsol Google Developers dan mengaktifkan API secara otomatis. Klik Lanjutkan, lalu Buka kredensial.

  2. Di halaman Buat kredensial, klik tombol Batal.

  3. Di bagian atas halaman, pilih tab Layar izin OAuth. Pilih Alamat email, masukkan Nama produk jika belum ditetapkan, lalu klik tombol Simpan.

  4. Pilih tab Kredensial, klik tombol Buat kredensial dan pilih ID klien OAuth.

  5. Pilih jenis aplikasi Lainnya, masukkan nama "YouTube Data API Quickstart", lalu klik tombol Buat.

  6. Klik OK untuk menutup dialog yang dihasilkan.

  7. Klik tombol (Download JSON) di sebelah kanan ID klien.

  8. Pindahkan file yang didownload ke direktori kerja Anda dan ganti namanya menjadi client_secret.json.

Langkah 2: Menginstal Library Klien Google

Jalankan perintah berikut untuk menginstal library:

gem install google-api-client

Lihat halaman penginstalan library untuk opsi penginstalan alternatif.

Langkah 3: Menyiapkan 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: Menjalankan contoh

Jalankan contoh menggunakan perintah berikut:

ruby quickstart.rb

Saat pertama kali menjalankan contoh, Anda akan diminta untuk mengotorisasi akses:

  1. 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 sedang login ke Akun Google Anda, Anda akan diminta untuk sedang login. Jika login ke beberapa akun Google, Anda akan diminta untuk memilih satu akun yang akan digunakan untuk otorisasi.

  2. Klik tombol Terima.
  3. Salin kode yang diberikan kepada Anda, tempelkan ke perintah command line, lalu tekan Enter. Kode tersebut mungkin muncul di URL halaman yang Anda tuju 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.

Bacaan lebih lanjut