Ein Topic ist ein Label zum Gruppieren von CourseWork und
CourseWorkMaterial-Stream-Elementen in einem Kurs. Ein Topic wird in der Regel verwendet, um diese Elemente nach Ähnlichkeit zu kategorisieren, z. B. nach der Woche, in der die Elemente zugewiesen wurden, oder nach dem Fach. Nutzer können Stream-Elemente in der Kursaufgaben -Ansicht der Classroom-Benutzeroberfläche visuell organisieren und filtern.
Jedes Topic wird durch eine eindeutige ID identifiziert, die vom Server zugewiesen wird. Die Topic-Ressource enthält außerdem Folgendes:
name: Der Anzeigename, der in der Classroom-Benutzeroberfläche angezeigt wirdupdateTime: Der Zeitpunkt, zu dem dasTopiczuletzt aktualisiert wurdecourseId: Die ID des Kurses, mit dem dasTopicverknüpft ist
Thema erstellen
Mit der Methode topics.create() können Sie in einem Kurs ein neues Topic erstellen,
wie im folgenden Beispiel gezeigt:
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
Das Feld name ist immer erforderlich und muss ein nicht leerer String sein. Alle anderen Felder sind optional.
Themendetails abrufen
Mit der Methode topics.get() können Sie ein bestimmtes Topic anhand der ID abrufen, wie
im folgenden Beispiel gezeigt:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Mit der topics.list() Methode können Sie alle Topics in einem Kurs abrufen, wie
im folgenden Beispiel gezeigt:
Java
Python
topics = []
page_token = None
while True:
response = service.courses().topics().list(
pageToken=page_token,
pageSize=30,
courseId=<course ID or alias>).execute()
topics.extend(response.get('topic', []))
page_token = response.get('nextPageToken', None)
if not page_token:
break
if not topics:
print('No topics found.')
else:
print('Topics:')
for topic in topics:
print('{0} ({1})'.format(topic['name'], topic['topicId']))
Thema aktualisieren
Mit der Methode topics.patch() können Sie den name eines vorhandenen Topic aktualisieren, wie
im folgenden Beispiel gezeigt:
Java
Python
topic = {
"name": "New Topic Name"
}
response = service.courses().topics().patch(
courseId=<course ID or alias>,
id=<topic ID>,
updateMask="name",
body=topic).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Die Felder Topic id und updateTime werden vom Server generiert und können nicht mit der API aktualisiert werden.
Thema löschen
Mit der Methode topics.delete() können Sie ein vorhandenes Topic löschen, wie im folgenden Beispiel gezeigt: