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 aktualizacji- Topic
- courseId: identyfikator kursu, z którym powiązany jest- Topic.
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: