Người dùng của bạn có đang sử dụng Lớp học với Google Meet không? Hãy tham khảo bài viết hướng dẫn nhanh về Apps Script để biết cách điểm danh học viên trong các khóa học của Google Meet.

Bắt đầu nhanh Ruby

Hoàn tất các bước được mô tả trong phần còn lại của trang này để tạo một ứng dụng dòng lệnh Ruby đơn giản gửi các yêu cầu đến API Lớp học.

Điều kiện tiên quyết

Để chạy khởi động nhanh này, bạn cần có các điều kiện tiên quyết sau đây:

  • Ruby 2.0 trở lên
  • Một dự án Google Cloud Platform đã bật API. Để tạo một dự án và bật API, hãy tham khảo bài viết Tạo dự án và bật API
  • Thông tin cấp phép của ứng dụng dành cho máy tính. Để tìm hiểu cách tạo thông tin đăng nhập cho ứng dụng dành cho máy tính, hãy tham khảo bài viết Tạo thông tin đăng nhập.

  • Một tài khoản G Suite cho Giáo dục đã bật Google Lớp học.

Bước 1: Cài đặt Thư viện ứng dụng Google

Chạy lệnh sau để cài đặt thư viện:

gem install google-api-client

Xem trang cài đặt của thư viện để biết các tùy chọn cài đặt thay thế.

Bước 2: Thiết lập mẫu

Tạo một tệp có tên quickstart.rb trong thư mục làm việc của bạn và sao chép trong mã sau:

lớp học/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

Bước 3: Chạy mẫu

Chạy mẫu bằng lệnh sau:

ruby quickstart.rb

Lần đầu tiên bạn chạy mẫu, lời nhắc này nhắc bạn cấp quyền truy cập:

  1. Mẫu thử mở một cửa sổ hoặc thẻ mới trong trình duyệt mặc định. Nếu không được, hãy sao chép URL trên bảng điều khiển và mở URL theo cách thủ công trong trình duyệt.

    Nếu chưa đăng nhập vào Tài khoản Google của mình, bạn sẽ được đăng nhập. Nếu đăng nhập vào nhiều Tài khoản Google, bạn sẽ được yêu cầu chọn một tài khoản để sử dụng cho việc ủy quyền.

  2. Nhấp vào nút Chấp nhận.
  3. Mẫu sẽ tự động tiếp tục và bạn có thể đóng cửa sổ/thẻ.

Lưu ý

  • Thông tin ủy quyền được lưu trữ trên hệ thống tệp, do đó, các thao tác thực thi tiếp theo không nhắc ủy quyền.
  • Quy trình ủy quyền trong ví dụ này được thiết kế cho ứng dụng dòng lệnh. Để biết thông tin về cách thực hiện ủy quyền trong ứng dụng web, hãy xem phần Sử dụng OAuth 2.0 cho ứng dụng máy chủ web.

Khắc phục sự cố

Phần này mô tả một số vấn đề phổ biến mà bạn có thể gặp phải trong quá trình tìm cách bắt đầu nhanh này và đề xuất các giải pháp có thể áp dụng.

This app isn't verified

Nếu màn hình xin phép bằng OAuth sẽ hiển thị cảnh báo "Ứng dụng này chưa được xác minh&" ứng dụng của bạn đang yêu cầu các phạm vi cung cấp quyền truy cập vào dữ liệu nhạy cảm của người dùng. Nếu ứng dụng của bạn sử dụng phạm vi nhạy cảm, ứng dụng của bạn phải trải qua quy trình xác minh để xóa cảnh báo đó và các giới hạn khác. Trong giai đoạn phát triển, bạn có thể tiếp tục vượt qua cảnh báo này bằng cách chọn Advanced > Chuyển đến {Project Name}(không an toàn).

File not found error for credentials.json

Khi chạy mẫu, bạn có thể nhận được tệp không tìm thấy hoặc không có lỗi nào như vậy liên quan đến info.json.

Lỗi này xảy ra khi bạn chưa ủy quyền thông tin đăng nhập của ứng dụng dành cho máy tính để bàn như được nêu chi tiết trong phần Điều kiện tiên quyết ở trên. Để tìm hiểu cách tạo thông tin xác thực cho ứng dụng dành cho máy tính, hãy chuyển đến phần Tạo thông tin xác thực.

Sau khi bạn tạo thông tin xác thực, hãy đảm bảo tệp JSON đã tải xuống được lưu dưới dạng credentials.json. Sau đó, di chuyển tệp tới thư mục làm việc của bạn bằng phần còn lại của mã bắt đầu nhanh mẫu.

Tài liệu đọc thêm

Để biết thêm thông tin về các API được dùng trong quy trình bắt đầu nhanh này, hãy tham khảo phần google-api-ruyby-client của GitHub