Un Topic
est un libellé permettant de regrouper les éléments de flux CourseWork
et CourseWorkMaterial
dans un cours. Un Topic
est généralement utilisé pour classer ces éléments en fonction de leur similitude, par exemple en fonction de la semaine à laquelle ils sont attribués ou de leur sujet. Les utilisateurs peuvent organiser et filtrer visuellement les éléments du flux dans la vue 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 de ClassroomupdateTime
: heure de la dernière mise à jour deTopic
courseId
: ID du cours auquel leTopic
est 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 du 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 Topic
d'un cours, comme indiqué 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']))
Modifier un sujet
Vous pouvez mettre à jour un name
Topic
existant avec 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 thème
Vous pouvez supprimer un Topic
existant à l'aide de la méthode topics.delete()
, comme illustré dans l'exemple suivant: