Verwenden Ihre Nutzer Classroom mit Google Meet? Weitere Informationen finden Sie unter Apps Script – Kurzanleitung.

Ruby-Kurzanleitung

Führen Sie die restlichen Schritte der Anleitung auf dieser Seite aus, um eine einfache Ruby-Befehlszeilenanwendung zu erstellen, die Anfragen an die Classroom API sendet.

Vorbereitung

Für diese Kurzanleitung werden folgende Voraussetzungen erfüllt:

  • Ruby 2.0 oder höher
  • Ein Google Cloud Platform-Projekt mit aktivierter API. Informationen zum Erstellen eines Projekts und zum Aktivieren einer API finden Sie unter Projekt erstellen und API aktivieren.
  • Anmeldedaten für die Autorisierung einer Desktopanwendung. Informationen zum Erstellen von Anmeldedaten für eine Desktopanwendung finden Sie unter Anmeldedaten erstellen.

  • Ein G Suite for Education-Konto mit aktiviertem Google Classroom.

Schritt 1: Google-Clientbibliothek installieren

Führen Sie den folgenden Befehl aus, um die Bibliothek zu installieren:

gem install google-api-client

Informationen zu den alternativen Installationsoptionen finden Sie auf der Installationsseite der Bibliothek.

Schritt 2: Beispiel einrichten

Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen quickstart.rb und kopieren Sie den folgenden Code:

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

Schritt 3: Beispiel ausführen

Führen Sie das Beispiel mit dem folgenden Befehl aus:

ruby quickstart.rb

Wenn Sie das Beispiel das erste Mal ausführen, werden Sie aufgefordert, den Zugriff zu autorisieren:

  1. Im Beispiel wird versucht, ein neues Fenster oder einen neuen Tab in Ihrem Standardbrowser zu öffnen. Wenn dies fehlschlägt, kopieren Sie die URL aus der Console und öffnen Sie sie manuell in Ihrem Browser.

    Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, das nachzuholen. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie aufgefordert, ein Konto für die Autorisierung auszuwählen.

  2. Klicken Sie auf Annehmen.
  3. Das Beispiel wird automatisch fortgesetzt und Sie können das Fenster/den Tab schließen.

Hinweise

  • Autorisierungsinformationen werden im Dateisystem gespeichert, sodass nachfolgende Ausführungen nicht zur Autorisierung aufgefordert werden.
  • Der Autorisierungsablauf in diesem Beispiel ist für eine Befehlszeilenanwendung vorgesehen. Informationen zum Ausführen einer Autorisierung in einer Webanwendung finden Sie unter OAuth 2.0 für Webserveranwendungen verwenden.

Fehlerbehebung

In diesem Abschnitt werden einige häufige Probleme beschrieben, die beim Versuch, diese Kurzanleitung auszuführen, auftreten können, sowie Lösungsvorschläge.

This app isn't verified

Wenn im OAuth-Zustimmungsbildschirm die Warnung "Diese Anwendung ist nicht verifiziert" angezeigt wird, fordert Ihre Anwendung Bereiche an, die Zugriff auf vertrauliche Nutzerdaten gewähren. Wenn die Anwendung sensible Bereiche verwendet, muss sie den Bestätigungsprozess durchlaufen, um diese Warnung und andere Einschränkungen zu entfernen. Sie können diese Warnung in der Entwicklungsphase fortsetzen, indem Sie auf Advanced > Go to {Project Name} (unsafe) klicken.

File not found error for credentials.json

Wenn Sie das Beispiel ausführen, erhalten Sie möglicherweise eine Datei, die nicht gefunden wurde, oder keinen Dateifehler in der Datei credentials.json.

Dieser Fehler tritt auf, wenn Sie die Anmeldedaten für Desktopanwendungen nicht wie oben im Abschnitt Voraussetzungen beschrieben autorisiert haben. Informationen zum Erstellen von Anmeldedaten für eine Desktopanwendung finden Sie unter Anmeldedaten erstellen.

Nachdem Sie die Anmeldedaten erstellt haben, muss die heruntergeladene JSON-Datei als credentials.json gespeichert sein. Verschieben Sie die Datei dann zusammen mit dem Rest des Kurzanleitungscodes in Ihr Arbeitsverzeichnis.

Weitere Informationen

Weitere Informationen zu den in dieser Kurzanleitung verwendeten APIs finden Sie im Abschnitt "google-api-ruyby-client" auf GitHub.