Um Topic é um rótulo para agrupar itens de stream CourseWork e
CourseWorkMaterial em um curso. Um Topic geralmente é usado para categorizar esses itens por semelhança, como a semana em que os itens são atribuídos ou o assunto deles. 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 AulaupdateTime: a hora em que oTopicfoi atualizado pela última vezcourseId: o ID do curso ao qual oTopicestá associado
Criar um tópico
Você pode criar um novo Topic em um curso usando o método topics.create(),
conforme 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 extrair um Topic específico por ID com o topics.get() método, 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 extrair todos os Topics em um curso, conforme mostrado
no exemplo a seguir:
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 tópico
Você pode atualizar um Topic name atual com 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 tópico
Você pode excluir um Topic atual com o método topics.delete(), conforme mostrado
no exemplo a seguir: