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 Classroom
- updateTime: l'ora dell'ultimo aggiornamento di- Topic
- courseId: l'ID del corso a cui è associato- Topic
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: