Используют ли ваши пользователи Класс с Google Meet? Ознакомьтесь с кратким руководством по скрипту приложений, в котором рассказывается, как проверить посещаемость учащихся на курсах Google Meet .

Быстрый старт Ruby

Выполните шаги, описанные в оставшейся части этой страницы, чтобы создать простое приложение командной строки Ruby, которое отправляет запросы к Classroom API.

Предпосылки

Для запуска этого краткого руководства необходимы следующие предварительные условия:

  • Учетные данные авторизации для настольного приложения. Чтобы узнать, как создать учетные данные для настольного приложения, см. раздел Создание учетных данных .

  • Учетная запись AG Suite for Education с включенным Google Classroom.

Шаг 1. Установите клиентскую библиотеку Google.

Выполните следующую команду, чтобы установить библиотеку:

gem install google-api-client

См. страницу установки библиотеки для альтернативных вариантов установки.

Шаг 2. Настройте образец

Создайте файл с именем quickstart.rb в своем рабочем каталоге и скопируйте в него следующий код:

классная комната/быстрый старт/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. Нажмите кнопку « Принять ».
  3. Образец выполняется автоматически, и вы можете закрыть окно/вкладку.

Заметки

  • Информация об авторизации хранится в файловой системе, поэтому последующие выполнения не запрашивают авторизацию.
  • Поток авторизации в этом примере разработан для приложения командной строки. Сведения о том, как выполнить авторизацию в веб-приложении, см. в разделе Использование OAuth 2.0 для приложений веб-сервера .

Исправление проблем

В этом разделе описываются некоторые распространенные проблемы, с которыми вы можете столкнуться при попытке выполнить это краткое руководство, и предлагаются возможные решения.

This app isn't verified

Если на экране согласия OAuth отображается предупреждение «Это приложение не проверено», ваше приложение запрашивает области, предоставляющие доступ к конфиденциальным данным пользователя. Если ваше приложение использует конфиденциальные области, ваше приложение должно пройти процесс проверки, чтобы удалить это предупреждение и другие ограничения. На этапе разработки вы можете пройти мимо этого предупреждения, выбрав « Дополнительно» > «Перейти к {Имя проекта} (небезопасно)» .

File not found error for credentials.json

При запуске примера вы можете получить сообщение об ошибке «Файл не найден» или «Нет такого файла» в отношении учетных данных.json.

Эта ошибка возникает, если вы не авторизовали учетные данные настольного приложения, как описано в разделе « Предварительные требования » выше. Чтобы узнать, как создать учетные данные для настольного приложения, перейдите к разделу Создание учетных данных .

После создания учетных данных убедитесь, что загруженный файл JSON сохранен как credentials.json . Затем переместите файл в свой рабочий каталог с остальной частью примера кода быстрого запуска.

дальнейшее чтение

Дополнительные сведения об API, использованных в этом кратком руководстве, см. в разделе google-api-ruyby-client на GitHub.