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 AulaupdateTime
: a hora em que oTopic
foi atualizado pela última vez.courseId
: o ID do curso associado aoTopic
.
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 Topic
s 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: