Noten und Rücksendungen von Anhängen

Dies ist die sechste Schritt-für-Schritt-Anleitung für Classroom-Add-ons. Schritt-für-Schritt-Anleitung.

In dieser Schritt-für-Schritt-Anleitung ändern Sie das Beispiel aus dem vorherigen Schritt um einen benoteten Anhang des Aktivitätstyps zu erstellen. Außerdem geben Sie eine Note zurück. die in der Note der Lehrkraft angezeigt wird, programmatisch in Google Classroom. als Notenentwurf angesehen.

Diese Schritt-für-Schritt-Anleitung unterscheidet sich geringfügig von anderen in der Reihe, da es mehrere zwei mögliche Ansätze für die Notenrückgabe an Google Classroom: Beide haben unterschiedliche Auswirkungen auf Entwickler und Nutzer Erfahrungen berücksichtigen, wenn Sie das Classroom-Add-on entwerfen. Weitere Informationen finden Sie auf der Seite Mit Anhängen interagieren. Implementierungsoptionen.

Die Benotungsfunktionen in der API sind optional. Sie können mit einen beliebigen Anhang vom Typ „Aktivität“.

Im Verlauf dieser Schritt-für-Schritt-Anleitung führen Sie die folgenden Schritte aus:

  • Ändern Sie die vorherigen Anfragen zum Erstellen von Anhängen an den Classroom API, um auch die maximale Punktzahl für den Anhang festzulegen.
  • Benoten Sie die abgegebene Aufgabe des Schülers/Studenten programmatisch und legen Sie die Notenzähler.
  • Implementieren Sie zwei Ansätze, um die Note Classroom mit den Anmeldedaten einer Lehrkraft, die als angemeldeter oder offline angemeldet ist

Sobald Sie fertig sind, erscheinen die Noten im Classroom-Notenbuch nach der Rücksendungsverhalten ausgelöst. Der genaue Moment, in dem dies geschieht, des Implementierungsansatzes.

Verwenden Sie für dieses Beispiel die Aktivität aus dem vorherigen Schritt-für-Schritt-Anleitung, bei der einem Schüler ein Bild einer berühmten Sehenswürdigkeit gezeigt wird. aufgefordert, seinen Namen einzugeben. Weisen Sie dem Anhang vollständige Markierungen zu, wenn der Schüler/Student den richtigen Namen eingibt, andernfalls Null.

Informationen zur Benotungsfunktion der Classroom Add-ons API

Mit dem Add-on können Sie sowohl den Notenzähler als auch die maximale Punktzahl für ein Anhang. Diese werden jeweils mit pointsEarned und maxPoints festgelegt. in der API verwenden. Auf einer Karte für Anhänge in der Classroom-Benutzeroberfläche wird maxPoints-Wert, wenn er festgelegt wurde.

Beispiel für mehrere Anhänge mit dem Wert „maxPoints“ für einen Anhang
Zuweisung

Abbildung 1. Die Benutzeroberfläche zur Aufgabenerstellung mit drei Add-on-Anhangskarten, die maxPoints festgelegt.

Mit der Classroom Add-ons API können Sie Einstellungen die Punktzahl für die Noten für den Anhang. Diese sind nicht mit der Aufgabe. Die Noteneinstellungen für die Aufgabe richten sich jedoch nach den Noteneinstellungen für Anhänge des Anhangs mit aktiviertem Label Notensynchronisierung auf der Karte mit Anhang. Wenn das Symbol „Notensynchronisierung“ Anhangssätze pointsEarned für ein abgegebenen Aufgaben des Schülers/Studenten wird auch der Notenentwurf des Schülers/Studenten für die Aufgabe festgelegt.

Normalerweise ist der erste Anhang, der der Aufgabe hinzugefügt wurde, maxPoints erhält die Notensynchronisierung . Siehe UI für die Aufgabenerstellung Beispiel in Abbildung 1 für die „Notensynchronisierung“ . Beachten Sie, dass „Anhang 1“ die Karte „Notensynchronisierung“ und dass die Aufgabe benotet wird, im roten Feld wurde auf 50 Punkte aktualisiert. In Abbildung 1 zeigt drei Anhangskarten, nur eine hat die Notensynchronisierung . Dies ist Eine Schlüsseleinschränkung der aktuellen Implementierung: Nur ein Anhang kann einen „Notensynchronisierung“ -Label.

Wenn es mehrere Anhänge gibt, für die maxPoints festgelegt wurde, wird der Anhang mit „Notensynchronisierung“ Die Notensynchronisierung wird nicht aktiviert. auf einer der verbleibende Anhänge. Durch Hinzufügen eines weiteren Anhangs, mit dem maxPoints festgelegt wird, Notensynchronisierung des neuen Anhangs. Die maximale Note für eine Aufgabe wird entsprechend angepasst. Übereinstimmung. Es gibt keinen Mechanismus, um programmatisch zu sehen, welcher Anhang den „Noten synchronisieren“ oder um zu sehen, wie viele Anhänge eine Aufgabe hat.

Maximale Note eines Anhangs festlegen

In diesem Abschnitt wird beschrieben, wie Sie die Nennator-Note für die Note eines Anhangs festlegen. das ist die maximal mögliche Punktzahl, die alle Schüler Einreichungen. Legen Sie dazu den Wert maxPoints des Anhangs fest.

Es ist nur eine geringfügige Änderung an der bestehenden Implementierung erforderlich, die Benotungsfunktionen nutzen. Fügen Sie beim Erstellen eines Anhangs den Wert maxPoints in dem gleichen AddOnAttachment-Objekt, das studentWorkReviewUri, teacherViewUri und andere Anhangsfelder.

Beachten Sie, dass die Standardhöchstpunktzahl für neue Aufgaben 100 beträgt. Wir empfehlen maxPoints auf einen anderen Wert als 100 setzen, damit Sie überprüfen können, Noten richtig festgelegt werden. Legen Sie zur Veranschaulichung maxPoints auf 50 fest:

Python

Fügen Sie beim Erstellen des attachment-Objekts das Feld maxPoints hinzu, bevor eine CREATE-Anfrage an den courses.courseWork.addOnAttachments-Endpunkt. Diese finden Sie in der webapp/attachment_routes.py, wenn Sie unser Beispiel verwenden.

attachment = {
    # Specifies the route for a teacher user.
    "teacherViewUri": {
        "uri":
            flask.url_for(
                "load_activity_attachment",
                _scheme='https',
                _external=True),
    },
    # Specifies the route for a student user.
    "studentViewUri": {
        "uri":
            flask.url_for(
                "load_activity_attachment",
                _scheme='https',
                _external=True)
    },
    # Specifies the route for a teacher user when the attachment is
    # loaded in the Classroom grading view.
    "studentWorkReviewUri": {
        "uri":
            flask.url_for(
                "view_submission", _scheme='https', _external=True)
    },
    # Sets the maximum points that a student can earn for this activity.
    # This is the denominator in a fractional representation of a grade.
    "maxPoints": 50,
    # The title of the attachment.
    "title": f"Attachment {attachment_count}",
}

Für diese Demonstration speichern Sie den Wert maxPoints auch in Ihre lokale Anhangsdatenbank; So ist kein zusätzlicher API-Aufruf erforderlich. Aufgaben von Schülern oder Studenten später benoten. Es ist jedoch möglich, dass die Noteneinstellungen für Aufgaben unabhängig von Ihrem Add-on ändern. Senden Eine GET-Anfrage an den courses.courseWork-Endpunkt, um die maxPoints-Wert auf Zuweisungsebene. Dabei übergeben Sie itemId im CourseWork.id.

Aktualisieren Sie nun Ihr Datenbankmodell, damit es auch den Wert maxPoints des Anhangs enthält. Wir empfehlen, den Wert maxPoints aus der CREATE-Antwort zu verwenden:

Python

Fügen Sie zuerst ein max_points-Feld in die Tabelle Attachment ein. Hier finden Sie in der Datei webapp/models.py ein, wenn Sie unser Beispiel verwenden.

# Database model to represent an attachment.
class Attachment(db.Model):
    # The attachmentId is the unique identifier for the attachment.
    attachment_id = db.Column(db.String(120), primary_key=True)

    # The image filename to store.
    image_filename = db.Column(db.String(120))

    # The image caption to store.
    image_caption = db.Column(db.String(120))

    # The maximum number of points for this activity.
    max_points = db.Column(db.Integer)

Kehren Sie zur courses.courseWork.addOnAttachments CREATE-Anfrage zurück. Geschäft den in der Antwort zurückgegebenen maxPoints-Wert.

new_attachment = Attachment(
    # The new attachment's unique ID, returned in the CREATE response.
    attachment_id=resp.get("id"),
    image_filename=key,
    image_caption=value,
    # Store the maxPoints value returned in the response.
    max_points=int(resp.get("maxPoints")))
db.session.add(new_attachment)
db.session.commit()

Der Anhang hat jetzt eine maximale Note. Sie sollten dieses Verhalten testen können. jetzt: einer neuen Aufgabe einen Anhang hinzufügen. zeigt die „Notensynchronisierung“ Label und die „Punkte“ der Aufgabe Änderungen des Werts.

Noten für abgegebene Aufgaben in Classroom festlegen

In diesem Abschnitt wird beschrieben, wie Sie den Zähler für die Note eines Anhangs festlegen. also: Punktzahl einzelner Schüler/Studenten für den Anhang. Legen Sie dazu einen Schüler/Studenten fest pointsEarned-Wert der Einreichung.

Jetzt müssen Sie eine wichtige Entscheidung treffen: Wie soll Ihr Add-on ausgegeben werden? Anfrage zum Festlegen von pointsEarned?

Das Problem ist, dass für die Einstellung pointsEarned der OAuth-Bereich teacher erforderlich ist. Sie sollten Schülern oder Studenten den Zugriffsbereich teacher nicht zuweisen. könnte dies zu wenn Schüler und Studenten mit dem Add-on interagieren, wie z. B. das Laden der iFrame für die Ansicht für Lehrkräfte anstelle des iFrames für die Ansicht für Schüler und Studenten. Sie haben daher zwei Optionen zum Festlegen von pointsEarned:

  • Mit den Anmeldedaten der angemeldeten Lehrkraft.
  • (Offline) gespeicherte Anmeldedaten von Lehrkräften verwenden

In den folgenden Abschnitten werden die Vor- und Nachteile der einzelnen Ansätze erläutert, bevor Demonstration der einzelnen Implementierungen. Unsere Beispiele zeigen, beiden Ansätzen zum Übergeben von Noten an Classroom; sieh dir die sprachspezifische Anweisungen weiter unten, um zu erfahren, wie Sie die bereitgestellten Beispiele ausführen:

Python

Oben finden Sie die Deklaration „SET_GRADE_WITH_LOGGED_IN_USER_CREDENTIALS“. von webapp/attachment_routes.py Datei. Legen Sie diesen Wert für die Rücksendung auf True fest. mit den Anmeldedaten der angemeldeten Lehrkraft benoten. Legen Sie diesen Wert auf False fest. um Noten mit gespeicherten Anmeldedaten zu übergeben, wenn der Schüler/Student die Aktivitäten.

Noten anhand der Anmeldedaten der angemeldeten Lehrkraft festlegen

Verwenden Sie die Anmeldedaten des angemeldeten Nutzers, um eine Anfrage zum Festlegen von pointsEarned zu senden. Dies sollte recht intuitiv erscheinen, da es den Rest der Implementierung widerspiegelt. und ist mit wenig Aufwand realisierbar.

Beachten Sie jedoch, dass die Lehrkraft nur die Inhalte des Schülers im iFrame an die Aufgabe der Schüler/Studenten. Hier sind einige wichtige Auswirkungen:

  • In Classroom werden erst dann Noten eingetragen, wenn die Lehrkraft Aktion in der Classroom-Benutzeroberfläche.
  • Möglicherweise muss eine Lehrkraft jede abgegebene Aufgabe öffnen, um alle Noten der Schüler oder Studenten.
  • Nach dem Erhalt der Note in Classroom gibt es eine kurze Verzögerung. und die Darstellung in der Classroom-Benutzeroberfläche. Die Verzögerung beträgt in der Regel 5 bis 10 Sekunden, kann aber auch bis zu 30 Sekunden lang sein.

Die Kombination dieser Faktoren bedeutet, dass Lehrkräfte umfangreiche, zeitaufwendige manuelle Arbeit ein, um die Noten eines Kurses vollständig auszufüllen.

Fügen Sie für diesen Ansatz einen zusätzlichen API-Aufruf für den Route zur beruflichen Bewertung.

Nachdem Sie die Datensätze zu abgegebenen Aufgaben und Anhängen abgerufen haben, bewerten Sie die abgegebenen Aufgaben des Schülers/Studenten und speichern Sie die Note. Die Note wird in der Feld pointsEarned eines AddOnAttachmentStudentSubmission-Objekts Schließlich: PATCH-Anfrage an den courses.courseWork.addOnAttachments.studentSubmissions-Endpunkt durch den AddOnAttachmentStudentSubmission-Instanz im Anfragetext. Beachten Sie, dass wir Außerdem müssen Sie pointsEarned im updateMask in der PATCH-Anfrage angeben:

Python

# Look up the student's submission in our database.
student_submission = Submission.query.get(flask.session["submissionId"])

# Look up the attachment in the database.
attachment = Attachment.query.get(student_submission.attachment_id)

grade = 0

# See if the student response matches the stored name.
if student_submission.student_response.lower(
) == attachment.image_caption.lower():
    grade = attachment.max_points

# Create an instance of the Classroom service.
classroom_service = ch._credential_handler.get_classroom_service()

# Build an AddOnAttachmentStudentSubmission instance.
add_on_attachment_student_submission = {
    # Specifies the student's score for this attachment.
    "pointsEarned": grade,
}

# Issue a PATCH request to set the grade numerator for this attachment.
patch_grade_response = classroom_service.courses().courseWork(
).addOnAttachments().studentSubmissions().patch(
    courseId=flask.session["courseId"],
    itemId=flask.session["itemId"],
    attachmentId=flask.session["attachmentId"],
    submissionId=flask.session["submissionId"],
    # updateMask is a list of fields being modified.
    updateMask="pointsEarned",
    body=add_on_attachment_student_submission).execute()

Noten mithilfe von Offline-Anmeldedaten der Lehrkraft festlegen

Für den zweiten Ansatz zum Festlegen von Noten sind gespeicherte Anmeldedaten erforderlich. für die Lehrkraft, die den Anhang erstellt hat. Bei dieser Implementierung müssen Sie sich die Anmeldedaten mithilfe der Aktualisierung und der Aktualisierung Zugriffstokens und legen Sie mit diesen Anmeldedaten pointsEarned fest.

Ein entscheidender Vorteil dieses Ansatzes ist, dass Noten eingetragen werden, ohne dass die Lehrkräfte über die Classroom-Benutzeroberfläche wie oben beschrieben. Das hat zur Folge, dass Endnutzer die Benotung wahrnehmen. reibungslos und effizient ist. Außerdem können Sie bei diesem Ansatz wenn Sie Noten bekannt geben, z. B. wenn die Schüler oder Studenten die Aufgabe abgeschlossen haben. Aktivität oder asynchron.

Führen Sie die folgenden Aufgaben aus, um diesen Ansatz zu implementieren:

  1. Ändern Sie die Nutzer-Datenbankeinträge, um ein Zugriffstoken zu speichern.
  2. Ändern Sie Datenbankeinträge für Anhänge, um eine Lehrkräfte-ID zu speichern.
  3. Rufen Sie die Anmeldedaten der Lehrkraft ab und erstellen Sie (optional) eine neue Classroom-Dienstinstanz.
  4. Benotung einer abgegebenen Aufgabe festlegen

Legen Sie für diese Demo die Note fest, wenn der Schüler oder Student fertig ist. der Aktivität; wenn der Schüler oder Student das Formular in der Ansicht Route.

Nutzer-Datenbankeinträge ändern, um Zugriffstoken zu speichern

Für API-Aufrufe sind zwei eindeutige Tokens erforderlich: das Aktualisierungstoken und das Zugriffstoken abrufen. Wenn Sie bisher die Schritte der Reihe mit Schritt-für-Schritt-Anleitungen gesehen haben, Im User-Tabellenschema sollte bereits ein Aktualisierungstoken gespeichert sein. Aktualisierung speichern ist ausreichend, wenn Sie nur API-Aufrufe mit dem angemeldeten Nutzer durchführen, z. B. erhalten Sie im Rahmen des Authentifizierungsvorgangs ein Zugriffstoken.

Allerdings müssen Sie nicht mehr als der angemeldete Nutzer telefonieren, was bedeutet, dass der Authentifizierungsvorgang nicht verfügbar ist. Daher müssen Sie die Zugriffstoken zusammen mit dem Aktualisierungstoken. Aktualisieren Sie das User-Tabellenschema auf Fügen Sie ein Zugriffstoken hinzu:

Python

In unserem Beispiel befindet sich dies in der Datei webapp/models.py.

# Database model to represent a user.
class User(db.Model):
    # The user's identifying information:
    id = db.Column(db.String(120), primary_key=True)
    display_name = db.Column(db.String(80))
    email = db.Column(db.String(120), unique=True)
    portrait_url = db.Column(db.Text())

    # The user's refresh token, which will be used to obtain an access token.
    # Note that refresh tokens will become invalid if:
    # - The refresh token has not been used for six months.
    # - The user revokes your app's access permissions.
    # - The user changes passwords.
    # - The user belongs to a Google Cloud organization
    #   that has session control policies in effect.
    refresh_token = db.Column(db.Text())

    # An access token for this user.
    access_token = db.Column(db.Text())

Aktualisieren Sie dann jeden Code, der einen User-Eintrag erstellt oder aktualisiert, um auch den Zugriffstoken:

Python

In unserem Beispiel befindet sich dies in der Datei webapp/credential_handler.py.

def save_credentials_to_storage(self, credentials):
    # Issue a request for the user's profile details.
    user_info_service = googleapiclient.discovery.build(
        serviceName="oauth2", version="v2", credentials=credentials)
    user_info = user_info_service.userinfo().get().execute()
    flask.session["username"] = user_info.get("name")
    flask.session["login_hint"] = user_info.get("id")

    # See if we have any stored credentials for this user. If they have used
    # the add-on before, we should have received login_hint in the query
    # parameters.
    existing_user = self.get_credentials_from_storage(user_info.get("id"))

    # If we do have stored credentials, update the database.
    if existing_user:
        if user_info:
            existing_user.id = user_info.get("id")
            existing_user.display_name = user_info.get("name")
            existing_user.email = user_info.get("email")
            existing_user.portrait_url = user_info.get("picture")

        if credentials and credentials.refresh_token is not None:
            existing_user.refresh_token = credentials.refresh_token
            # Update the access token.
            existing_user.access_token = credentials.token

    # If not, this must be a new user, so add a new entry to the database.
    else:
        new_user = User(
            id=user_info.get("id"),
            display_name=user_info.get("name"),
            email=user_info.get("email"),
            portrait_url=user_info.get("picture"),
            refresh_token=credentials.refresh_token,
            # Store the access token as well.
            access_token=credentials.token)

        db.session.add(new_user)

    db.session.commit()

Datenbankeinträge für Anhänge ändern, um eine Lehrkraft-ID zu speichern

Wenn Sie eine Note für eine Aktivität festlegen möchten, rufen Sie pointsEarned auf und legen Sie Lehrkraft des Kurses an. Dafür gibt es mehrere Möglichkeiten:

  • Speichern Sie eine lokale Zuordnung der Anmeldedaten von Lehrkräften zu Kurs-IDs. Beachten Sie jedoch, kann nicht immer einem bestimmten Kurs zugeordnet werden.
  • Senden Sie GET-Anfragen an den courses-Endpunkt der Classroom API, um die aktuelle(n) Lehrer(n) abrufen. Fragen Sie dann die lokalen Nutzerdatensätze ab, mit den Anmeldedaten einer Lehrkraft übereinstimmen.
  • Speichern Sie beim Erstellen eines Add-on-Anhangs eine Lehrer-ID in der lokalen Anhangsdatenbank. Rufen Sie dann die Anmeldedaten der Lehrkraft aus dem attachmentId wurde an den iFrame der Schüler-/Studentenansicht übergeben.

Dieses Beispiel zeigt die letzte Option, da Sie Noten festlegen, Schüler/Student schließt eine Aktivität als Anhang ab.

Fügen Sie der Tabelle Attachment Ihrer Datenbank ein Lehrer-ID-Feld hinzu:

Python

In unserem Beispiel befindet sich dies in der Datei webapp/models.py.

# Database model to represent an attachment.
class Attachment(db.Model):
    # The attachmentId is the unique identifier for the attachment.
    attachment_id = db.Column(db.String(120), primary_key=True)

    # The image filename to store.
    image_filename = db.Column(db.String(120))

    # The image caption to store.
    image_caption = db.Column(db.String(120))

    # The maximum number of points for this activity.
    max_points = db.Column(db.Integer)

    # The ID of the teacher that created the attachment.
    teacher_id = db.Column(db.String(120))

Aktualisieren Sie dann jeden Code, der einen Attachment-Eintrag erstellt oder aktualisiert, die ID des Erstellers speichern:

Python

In unserem Beispiel befindet sich dies in der create_attachments-Methode im webapp/attachment_routes.py-Datei.

# Store the attachment by id.
new_attachment = Attachment(
    # The new attachment's unique ID, returned in the CREATE response.
    attachment_id=resp.get("id"),
    image_filename=key,
    image_caption=value,
    max_points=int(resp.get("maxPoints")),
    teacher_id=flask.session["login_hint"])
db.session.add(new_attachment)
db.session.commit()

Anmeldedaten der Lehrkraft abrufen

Suchen Sie die Route, über die der iFrame der Schüler-/Studentenansicht bereitgestellt wird. Sofort nach dem Speichern die Antwort des Schülers/Studenten in Ihrer lokalen Datenbank, rufen Sie Anmeldedaten aus Ihrem lokalen Speicher abzurufen. Dies sollte angesichts der in den vorherigen beiden Schritten. Sie können diese auch verwenden, um eine neue Instanz des Classroom-Dienstes für den Nutzer der Lehrkraft:

Python

In unserem Beispiel befindet sich dies in der load_activity_attachment-Methode in die Datei webapp/attachment_routes.py.

# Create an instance of the Classroom service using the tokens for the
# teacher that created the attachment.

# We're assuming that there are already credentials in the session, which
# should be true given that we are adding this within the Student View
# route; we must have had valid credentials for the student to reach this
# point. The student credentials will be valid to construct a Classroom
# service for another user except for the tokens.
if not flask.session.get("credentials"):
    raise ValueError(
        "No credentials found in session for the requested user.")

# Make a copy of the student credentials so we don't modify the original.
teacher_credentials_dict = deepcopy(flask.session.get("credentials"))

# Retrieve the requested user's stored record.
teacher_record = User.query.get(attachment.teacher_id)

# Apply the user's tokens to the copied credentials.
teacher_credentials_dict["refresh_token"] = teacher_record.refresh_token
teacher_credentials_dict["token"] = teacher_record.access_token

# Construct a temporary credentials object.
teacher_credentials = google.oauth2.credentials.Credentials(
    **teacher_credentials_dict)

# Refresh the credentials if necessary; we don't know when this teacher last
# made a call.
if teacher_credentials.expired:
    teacher_credentials.refresh(Request())

# Request the Classroom service for the specified user.
teacher_classroom_service = googleapiclient.discovery.build(
    serviceName=CLASSROOM_API_SERVICE_NAME,
    version=CLASSROOM_API_VERSION,
    credentials=teacher_credentials)

Note einer abgegebenen Aufgabe festlegen

Hier gehen Sie genauso vor wie bei Anmeldung beim Anmeldedaten Sie sollten jedoch die Lehrkraft anrufen, Anmeldedaten, die im vorherigen Schritt abgerufen wurden:

Python

# Issue a PATCH request as the teacher to set the grade numerator for this
# attachment.
patch_grade_response = teacher_classroom_service.courses().courseWork(
).addOnAttachments().studentSubmissions().patch(
    courseId=flask.session["courseId"],
    itemId=flask.session["itemId"],
    attachmentId=flask.session["attachmentId"],
    submissionId=flask.session["submissionId"],
    # updateMask is a list of fields being modified.
    updateMask="pointsEarned",
    body=add_on_attachment_student_submission).execute()

Add-on testen

Erstellen Sie ähnlich wie in der vorherigen Schritt-für-Schritt-Anleitung eine Aufgabe mit dem Aktivitätstyp als Lehrkraft hinzufügen, als Schüler oder Student eine Antwort senden und dann das im iFrame an die Aufgabe der Schüler/Studenten. Hier sollten Sie die Die Note wird je nach Implementierungsansatz zu unterschiedlichen Zeiten angezeigt:

  • Wenn Sie eine Note zurückgegeben haben, nachdem der Schüler/Student die Aktivität abgeschlossen hat, sollten Sie den Notenentwurf bereits in der Benutzeroberfläche sehen, bevor Sie die iFrame von Schülern/Studenten. Außerdem sehen Sie ihn in der Schüler-/Studentenliste, die Aufgabe öffnen, und in der Spalte „Note“ neben der Aufgabe von Schülern/Studenten. Überprüfen Sie den iFrame.
  • Wenn Sie eine Note zurückgegeben haben, wenn die Lehrkraft die Aufgaben von Schülern/Studenten öffnet Überprüfen Sie den iFrame. Die Note sollte unter „Note“ angezeigt werden. direkt nach dem iFrame geladen werden. Wie oben erwähnt, kann dies bis zu 30 Sekunden dauern. Anschließend sollte die Note für den jeweiligen Schüler/Studenten auch in der Ansicht anderen Ansichten des Classroom-Notenbuchs.

Prüfen Sie, ob die richtige Punktzahl für den Schüler/Studenten angezeigt wird.

Glückwunsch! Sie können nun mit dem nächsten Schritt fortfahren: Anhänge erstellen. außerhalb von Google Classroom.