Un Topic
è un'etichetta per raggruppare gli elementi di stream CourseWork
e
CourseWorkMaterial
all'interno di un corso. In genere, viene utilizzato un Topic
per classificare questi elementi in base alla somiglianza, ad esempio in base alla settimana in cui sono assegnati o al loro argomento. Gli utenti possono organizzare e filtrare visivamente gli elementi dello stream nella vista Compiti dell'interfaccia utente di Classroom.
Ogni Topic
è identificato da un ID univoco assegnato dal server. La risorsa Topic
contiene anche quanto segue:
name
: il nome visualizzato nell'interfaccia utente di ClassroomupdateTime
: l'ora dell'ultimo aggiornamento diTopic
courseId
: l'ID del corso a cui è associatoTopic
Creare un argomento
Puoi creare un nuovo Topic
in un corso utilizzando il metodo topics.create()
, come mostrato nell'esempio seguente:
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
Il campo name
è sempre obbligatorio e deve essere una stringa non vuota. Tutti gli altri campi sono facoltativi.
Recupera i dettagli dell'argomento
Puoi recuperare un Topic
specifico tramite ID con il metodo topics.get()
, come mostrato nell'esempio seguente:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Utilizza il metodo topics.list()
per recuperare tutti i Topic
di un corso, come mostrato
nell'esempio seguente:
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']))
Aggiornare un argomento
Puoi aggiornare un Topic
name
esistente con il metodo topics.patch()
, come mostrato nell'esempio seguente:
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']))
I campi Topic
id
e updateTime
sono generati dal server e non possono essere aggiornati con l'API.
Eliminare un argomento
Puoi eliminare un Topic
esistente con il metodo topics.delete()
, come mostrato
nell'esempio seguente: