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 par similitude, par exemple la semaine à laquelle 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 de ClassroomupdateTime
: heure de la dernière mise à jour deTopic
courseId
: ID du cours auquel l'Topic
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 d'un sujet
Vous pouvez récupérer un Topic
spécifique par ID avec 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 thème
Vous pouvez mettre à jour un Topic
name
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 avec la méthode topics.delete()
, comme indiqué dans l'exemple suivant :