Ruby hızlı başlangıç kılavuzu

Classroom API'sine istekte bulunan basit bir Ruby komut satırı uygulaması oluşturmak için bu sayfanın geri kalanında açıklanan adımları tamamlayın.

Ön koşullar

Bu hızlı başlangıcı çalıştırmak için aşağıdaki ön koşullara ihtiyacınız vardır:

  • Bir masaüstü uygulaması için yetkilendirme kimlik bilgileri. Bir masaüstü uygulaması için kimlik bilgilerinin nasıl oluşturulacağını öğrenmek için Kimlik bilgileri oluşturma bölümüne bakın.

  • Google Classroom'un etkin olduğu bir Eğitim için G Suite hesabı.

1. Adım: Google İstemci Kitaplığı'nı yükleyin

Kitaplığı yüklemek için aşağıdaki komutu çalıştırın:

gem install google-api-client

Alternatif yükleme seçenekleri için kitaplığın yükleme sayfasını inceleyin.

2. Adım: Örneği ayarlama

Çalışma dizininizde quickstart.rb adlı bir dosya oluşturun ve aşağıdaki koda kopyalayın:

classroom/quickstart/quickstart.rb
require "google/apis/classroom_v1"
require "googleauth"
require "googleauth/stores/file_token_store"
require "fileutils"

OOB_URI = "urn:ietf:wg:oauth:2.0:oob".freeze
APPLICATION_NAME = "Classroom API Ruby Quickstart".freeze
CREDENTIALS_PATH = "credentials.json".freeze
# The file token.yaml stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
TOKEN_PATH = "token.yaml".freeze
SCOPE = Google::Apis::ClassroomV1::AUTH_CLASSROOM_COURSES_READONLY

##
# Ensure valid credentials, either by restoring from the saved credentials
# files or intitiating an OAuth2 authorization. If authorization is required,
# the user's default browser will be launched to approve the request.
#
# @return [Google::Auth::UserRefreshCredentials] OAuth2 credentials
def authorize
  client_id = Google::Auth::ClientId.from_file CREDENTIALS_PATH
  token_store = Google::Auth::Stores::FileTokenStore.new file: TOKEN_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: OOB_URI
    puts "Open the following URL in the browser and enter the " \
         "resulting code after authorization:\n" + url
    code = gets
    credentials = authorizer.get_and_store_credentials_from_code(
      user_id: user_id, code: code, base_url: OOB_URI
    )
  end
  credentials
end

# Initialize the API
service = Google::Apis::ClassroomV1::ClassroomService.new
service.client_options.application_name = APPLICATION_NAME
service.authorization = authorize

# List the first 10 courses the user has access to.
response = service.list_courses page_size: 10

puts "Courses:"
puts "No courses found" if response.courses.empty?
response.courses.each do |course|
  puts "- #{course.name} (#{course.id})"
end

3. Adım: Örneği çalıştırın

Aşağıdaki komutu kullanarak örneği çalıştırın:

ruby quickstart.rb

Örneği ilk kez çalıştırdığınızda erişim için yetkilendirme yapmanız istenir:

  1. Örnek, varsayılan tarayıcınızda yeni bir pencere veya sekme açmaya çalışır. Bu başarısız olursa konsoldan URL'yi kopyalayıp tarayıcınızda manuel olarak açın.

    Google hesabınızda henüz oturum açmadıysanız oturum açmanız istenir. Birden çok Google hesabında oturum açtıysanız yetkilendirme için kullanılacak bir hesap seçmeniz istenir.

  2. Kabul et düğmesini tıklayın.
  3. Örnek otomatik olarak devam eder ve pencereyi/sekmeyi kapatabilirsiniz.

Notlar

  • Yetkilendirme bilgileri dosya sisteminde depolanır. Bu nedenle, sonraki yürütme işlemleri için yetkilendirme istenmez.
  • Bu örnekteki yetkilendirme akışı, bir komut satırı uygulaması için tasarlanmıştır. Web uygulamalarında yetkilendirmenin nasıl yapılacağıyla ilgili bilgi için Web Sunucusu Uygulamaları için OAuth 2.0'ı Kullanma başlıklı makaleye bakın.

Sorun giderme

Bu bölümde, bu hızlı başlangıç kılavuzunu çalıştırmaya çalışırken karşılaşabileceğiniz bazı yaygın sorunlar ve olası çözümler açıklanmıştır.

This app isn't verified

OAuth izin ekranında "Bu uygulama doğrulanmadı" uyarısı görüntüleniyorsa uygulamanız hassas kullanıcı verilerine erişim sağlayan kapsamlar istiyor. Uygulamanız hassas kapsamlar kullanıyorsa bu uyarıyı ve diğer sınırlamaları kaldırmak için uygulamanızın doğrulama işleminden geçmesi gerekir. Geliştirme aşamasında, Gelişmiş > {Proje Adı} sayfasına git (güvenli değil) seçeneğini belirleyerek bu uyarının ardından devam edebilirsiniz.

File not found error for credentials.json

Örneği çalıştırırken bir dosya bulunamadı veya kimlik bilgileri.json ile ilgili bir dosya hatası alabilirsiniz.

Bu hata, yukarıdaki Ön Koşullar bölümünde açıklandığı gibi, masaüstü uygulaması kimlik bilgilerini yetkilendirmediğinizde oluşur. Bir masaüstü uygulaması için kimlik bilgilerinin nasıl oluşturulacağını öğrenmek için Kimlik bilgileri oluşturma sayfasına gidin.

Kimlik bilgilerini oluşturduktan sonra, indirilen JSON dosyasının credentials.json olarak kaydedildiğinden emin olun. Ardından, örnek hızlı başlangıç kodunun geri kalanıyla dosyayı çalışma dizininize taşıyın.

Daha fazla bilgi

Bu hızlı başlangıç kılavuzunda kullanılan API'ler hakkında daha fazla bilgi için GitHub'ın google-api-ruyby-client bölümüne bakın