主題資源代表一組串流項目,依相似性分類,例如指派的週次或課程科目。
每個主題都會由伺服器指派的專屬 ID 識別。與此 ID 相關聯的是主題所屬的課程 ID、在 Classroom UI 上顯示的實際主題名稱,以及上次更新的日期和時間。
建立主題
您可以使用 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()
方法刪除現有主題,如以下範例所示: