Un Topic
es una etiqueta para agrupar elementos de transmisión de CourseWork
y CourseWorkMaterial
dentro de un curso. Por lo general, se usa un Topic
para categorizar estos elementos por similitud, como la semana en la que se asignan o su tema. Los usuarios pueden organizar y filtrar visualmente los elementos de la transmisión en la vista Trabajo en clase de la IU de Classroom.
Cada Topic
se identifica con un ID único que asigna el servidor. El recurso Topic
también contiene lo siguiente:
name
: Es el nombre visible que se muestra en la IU de Classroom.updateTime
: Es la hora en que se actualizóTopic
por última vez.courseId
: Es el ID del curso con el que está asociadoTopic
.
Crea un tema
Puedes crear un Topic
nuevo en un curso con el método topics.create()
, como se muestra en el siguiente ejemplo:
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
El campo name
siempre es obligatorio y debe ser una cadena no vacía. Todos los demás campos son opcionales.
Cómo recuperar detalles de temas
Puedes recuperar un Topic
específico por ID con el método topics.get()
, como se muestra en el siguiente ejemplo:
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Usa el método topics.list()
para recuperar todos los Topic
de un curso, como se muestra en el siguiente ejemplo:
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']))
Cómo actualizar un tema
Puedes actualizar un name
Topic
existente con el método topics.patch()
, como se muestra en la siguiente muestra:
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']))
Los campos Topic
id
y updateTime
se generan en el servidor y no se pueden actualizar con la API.
Cómo borrar un tema
Puedes borrar un Topic
existente con el método topics.delete()
, como se muestra en el siguiente ejemplo: