Um Topic é um rótulo para agrupar CourseWork e
itens de stream CourseWorkMaterial em um curso. Um Topic é usado normalmente para categorizar esses itens por semelhança, como a semana em que eles são atribuídos ou o assunto. Os usuários podem organizar e filtrar visualmente os itens do mural na visualização Atividades da interface do Google Sala de Aula.
Cada Topic é identificado por um ID exclusivo atribuído pelo servidor. O recurso Topic também contém o seguinte:
- name: o nome de exibição mostrado na interface do Google Sala de Aula
- updateTime: a hora em que o- Topicfoi atualizado pela última vez.
- courseId: o ID do curso associado ao- Topic.
Criar um tópico
Você pode criar um Topic em um curso usando o método topics.create(),
como mostrado no exemplo a seguir:
Java
Python
topic = {
    "name": 'Example Topic'
}
response = service.courses().topics().create(
  courseId=<course ID or alias>,
  body=topic).execute()
print('Topic created: ', response['name'])
O campo name é sempre obrigatório e precisa ser uma string não vazia. Todos os outros campos são opcionais.
Extrair detalhes do tópico
Você pode recuperar um Topic específico por ID com o método topics.get(), conforme
mostrado no exemplo a seguir:
Java
Python
response = service.courses().topics().get(
  courseId=<course ID or alias>,
  id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Use o método topics.list() para recuperar todos os Topics em um curso, conforme mostrado
neste exemplo:
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']))
Atualizar um tema
É possível atualizar um Topic name usando o método topics.patch(), conforme
mostrado no exemplo a seguir:
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']))
Os campos Topic id e updateTime são gerados pelo servidor e não podem ser atualizados com a API.
Excluir um tema
É possível excluir um Topic usando o método topics.delete(), conforme mostrado
neste exemplo: