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 aktualizacjiTopic
courseId
: 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: