Topic to etykieta służąca do grupowania CourseWork i CourseWorkMaterial elementów strumienia w ramach kursu. Topic jest zwykle używana do kategoryzowania tych elementów według podobieństwa, np. tygodnia, w którym zostały przypisane, lub tematu. Użytkownicy mogą wizualnie porządkować i filtrować elementy strumienia w widoku Zajęcia w interfejsie Classroom.
Każdy Topic jest identyfikowany przez unikalny identyfikator przypisany przez serwer. Zasób Topic
zawiera też te informacje:
name: nazwa wyświetlana w interfejsie Classroom.updateTime: czas ostatniej aktualizacjiTopiccourseId: identyfikator kursu, z którym powiązany jestTopic.
Utwórz temat
Nowy Topic w kursie możesz utworzyć za pomocą metody topics.create(), jak pokazano w tym przykładzie:
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
Pole name jest zawsze wymagane i musi być niepustym ciągiem znaków. Wszystkie pozostałe pola są opcjonalne.
Pobieranie szczegółów tematu
Możesz pobrać konkretny obiekt Topic według identyfikatora za pomocą metody topics.get(), jak pokazano w tym przykładzie:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Użyj metody topics.list(), aby pobrać wszystkie elementy Topic na kursie, jak pokazano w tym przykładzie:
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']))
Aktualizowanie tematu
Istniejący obiekt Topic name możesz zaktualizować za pomocą metody topics.patch(), jak pokazano w tym przykładzie:
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']))
Pola Topic id i updateTime są generowane przez serwer i nie można ich aktualizować za pomocą interfejsu API.
Usuwanie tematu
Istniejący element Topic możesz usunąć za pomocą metody topics.delete(), jak pokazano w tym przykładzie: