شروع سریع روبی

مراحل توضیح داده شده در ادامه این صفحه را تکمیل کنید تا یک برنامه خط فرمان ساده Ruby ایجاد کنید که درخواست هایی را به Classroom API ارسال می کند.

پیش نیازها

برای اجرای این شروع سریع، به پیش نیازهای زیر نیاز دارید:

  • اعتبار مجوز برای یک برنامه دسکتاپ. برای یادگیری نحوه ایجاد اعتبار برای یک برنامه دسکتاپ، به ایجاد اعتبارنامه مراجعه کنید.

  • حساب AG Suite for Education با Google Classroom فعال است.

مرحله 1: کتابخانه Google Client را نصب کنید

برای نصب کتابخانه دستور زیر را اجرا کنید:

gem install google-api-client

برای گزینه های نصب جایگزین به صفحه نصب کتابخانه مراجعه کنید.

مرحله 2: نمونه را تنظیم کنید

یک فایل با نام quickstart.rb در پوشه کاری خود ایجاد کنید و در کد زیر کپی کنید:

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: نمونه را اجرا کنید

نمونه را با استفاده از دستور زیر اجرا کنید:

ruby quickstart.rb

اولین باری که نمونه را اجرا می‌کنید، از شما می‌خواهد که دسترسی را مجاز کنید:

  1. نمونه تلاش می کند یک پنجره یا برگه جدید در مرورگر پیش فرض شما باز کند. اگر این کار انجام نشد، URL را از کنسول کپی کنید و به صورت دستی آن را در مرورگر خود باز کنید.

    اگر قبلاً وارد حساب Google خود نشده‌اید، از شما خواسته می‌شود که وارد شوید. اگر به چندین حساب Google وارد شده‌اید، از شما خواسته می‌شود یک حساب را برای استفاده برای مجوز انتخاب کنید.

  2. روی دکمه Accept کلیک کنید.
  3. نمونه به طور خودکار ادامه می‌یابد، و می‌توانید پنجره/برگه را ببندید.

یادداشت

  • اطلاعات مجوز در سیستم فایل ذخیره می شود، بنابراین اجرای بعدی درخواست مجوز نمی کند.
  • جریان مجوز در این مثال برای یک برنامه کاربردی خط فرمان طراحی شده است. برای کسب اطلاعات در مورد نحوه اجرای مجوز در یک برنامه وب، به استفاده از OAuth 2.0 برای برنامه های وب سرور مراجعه کنید.

عیب یابی

این بخش برخی از مشکلات رایجی را که ممکن است هنگام تلاش برای اجرای این شروع سریع با آنها مواجه شوید، توضیح می‌دهد و راه‌حل‌های ممکن را پیشنهاد می‌کند.

This app isn't verified

اگر صفحه رضایت OAuth اخطار «این برنامه تأیید نشده است» را نشان می‌دهد، برنامه شما دامنه‌هایی را درخواست می‌کند که دسترسی به داده‌های حساس کاربر را فراهم می‌کند. اگر برنامه شما از محدوده های حساس استفاده می کند، برنامه شما باید مراحل تأیید را طی کند تا آن هشدار و سایر محدودیت ها را حذف کند. در مرحله توسعه، می‌توانید با انتخاب Advanced > Go to {Project Name} (ناامن) از این هشدار عبور کنید.

File not found error for credentials.json

هنگام اجرای نمونه، ممکن است فایلی را دریافت کنید که یافت نشد یا چنین خطای فایلی در مورد credentials.json وجود نداشته باشد.

این خطا زمانی رخ می دهد که اعتبار برنامه دسکتاپ را همانطور که در بخش پیش نیازها در بالا توضیح داده شده است، تأیید نکرده باشید. برای یادگیری نحوه ایجاد اعتبار برای یک برنامه دسکتاپ، به ایجاد اعتبارنامه بروید.

پس از ایجاد اعتبارنامه، مطمئن شوید که فایل JSON دانلود شده به عنوان credentials.json ذخیره شده است. سپس فایل را با بقیه نمونه کد شروع سریع به دایرکتوری کاری خود منتقل کنید.

بیشتر خواندن

برای کسب اطلاعات بیشتر در مورد API های مورد استفاده در این شروع سریع، به بخش google-api-ruyby-client GitHub مراجعه کنید.