主题资源表示一组按相似性分类的动态项,例如分配的周数或课程主题。
每个主题都由服务器分配的唯一 ID 进行标识。与此 ID 关联的是主题所属的课程 ID、Google 课堂界面上显示的实际主题名称,以及上次更新的日期和时间。
创建主题
您可以使用 topics.create()
方法在课程中创建新主题,如以下示例所示:
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
检索主题详情
您可以使用 topics.get()
方法检索相应课程的主题,如以下示例所示:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
如需列出课程,请使用 topics.list()
方法,如以下示例所示:
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']))
更新主题
您可以使用 topics.patch()
方法更新现有主题的名称,如以下示例所示:
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']))
删除主题
您可以使用 topics.delete()
方法删除现有主题,如以下示例所示: