Un Topic
è un'etichetta per raggruppare gli elementi del flusso CourseWork
e CourseWorkMaterial
all'interno di un corso. Un Topic
viene in genere utilizzato
per classificare questi elementi in base alla somiglianza, ad esempio la settimana in cui vengono assegnati
o l'argomento. Gli utenti possono organizzare e filtrare visivamente gli elementi dello stream nella visualizzazione
Lavori del corso 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
Crea un argomento
Puoi creare un nuovo Topic
in un corso utilizzando il metodo topics.create()
,
come mostrato nel seguente esempio:
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.
Recuperare i dettagli dell'argomento
Puoi recuperare un Topic
specifico per ID con il metodo topics.get()
, come
mostrato nel seguente esempio:
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 nel seguente esempio:
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
vengono 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
nel seguente esempio: