Um Topic
é um rótulo para agrupar itens de transmissão 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 stream 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 vezcourseId
: o ID do curso ao qual oTopic
está associado
Criar um tópico
É possível criar uma nova 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
É possível recuperar um Topic
específico por ID com o método topics.get()
, conforme
mostrado no exemplo abaixo:
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
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 tema
É possível atualizar um name
Topic
existente com o método topics.patch()
, conforme
mostrado no exemplo abaixo:
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
com o método topics.delete()
, conforme mostrado
no exemplo a seguir: