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 werden, oder nach dem Thema. Nutzer können Stream-Elemente in der Ansicht Kursarbeit der Classroom-Benutzeroberfläche visuell organisieren und filtern.
Jede 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 der letzten Aktualisierung derTopic
courseId
: Die ID des Kurses, dem dieTopic
zugeordnet ist
Thema erstellen
Sie können ein neues Topic
in einem Kurs mit der Methode topics.create()
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
Sie können ein bestimmtes Topic
anhand der ID mit der Methode topics.get()
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 Methode topics.list()
können Sie alle Topic
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
Sie können ein vorhandenes Topic
name
mit der Methode topics.patch()
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 serverseitig generiert und können nicht über die API aktualisiert werden.
Thema löschen
Sie können eine vorhandene Topic
mit der Methode topics.delete()
löschen, wie im folgenden Beispiel gezeigt: