Un Topic est un libellé permettant de regrouper les éléments du flux CourseWork et
CourseWorkMaterial dans un cours. Un Topic est généralement utilisé pour classer ces éléments par similitude, par exemple la semaine où ils sont attribués ou leur sujet. Les utilisateurs peuvent organiser et filtrer visuellement les éléments du flux dans la vue Travaux et devoirs de l'interface utilisateur Classroom.
Chaque Topic est identifié par un ID unique attribué par le serveur. La ressource Topic contient également les éléments suivants :
name: nom à afficher dans l'interface utilisateur ClassroomupdateTime: heure de la dernière mise à jour duTopiccourseId: ID du cours auquel leTopicest associé
Créer un sujet
Vous pouvez créer un Topic dans un cours à l'aide de la méthode topics.create(),
comme illustré dans l'exemple suivant :
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
Le champ name est toujours obligatoire et doit être une chaîne non vide. Tous les autres champs sont facultatifs.
Récupérer les détails d'un sujet
Vous pouvez récupérer un Topic spécifique par ID à l'aide de la méthode topics.get(), comme
illustré dans l'exemple suivant :
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Utilisez la méthode topics.list() pour récupérer tous les Topics d'un cours, comme illustré
dans l'exemple suivant :
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']))
Mettre à jour un sujet
Vous pouvez mettre à jour un Topic name existant à l'aide de la méthode topics.patch(), comme
illustré dans l'exemple suivant :
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']))
Les champs Topic id et updateTime sont générés par le serveur et ne peuvent pas être mis à jour avec l'API.
Supprimer un sujet
Vous pouvez supprimer un Topic existant à l'aide de la méthode topics.delete(), comme illustré
dans l'exemple suivant :