Topic là nhãn dùng để nhóm các mục CourseWork và CourseWorkMaterial trong một khoá học. Topic thường được dùng để phân loại các mục này theo mức độ tương đồng, chẳng hạn như tuần mà các mục được chỉ định hoặc chủ đề của các mục. Người dùng có thể sắp xếp và lọc các mục trên luồng theo cách trực quan trong chế độ xem Bài tập trên lớp của giao diện người dùng Lớp học.
Mỗi Topic được xác định bằng một mã nhận dạng duy nhất do máy chủ chỉ định. Tài nguyên Topic cũng chứa những nội dung sau:
name: Tên hiển thị xuất hiện trong giao diện người dùng của Lớp họcupdateTime: Thời gian cập nhật gần đây nhất củaTopiccourseId: Mã nhận dạng của khoá học màTopicđược liên kết
Tạo một chủ đề
Bạn có thể tạo một Topic mới trong một khoá học bằng phương thức topics.create(), như minh hoạ trong mẫu sau:
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
Trường name luôn là trường bắt buộc và phải là một chuỗi không trống. Tất cả các trường khác đều không bắt buộc.
Truy xuất thông tin chi tiết về Chủ đề
Bạn có thể truy xuất một Topic cụ thể theo mã nhận dạng bằng phương thức topics.get(), như minh hoạ trong mẫu sau:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Sử dụng phương thức topics.list() để truy xuất tất cả Topic trong một khoá học, như trong mẫu sau:
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']))
Cập nhật một chủ đề
Bạn có thể cập nhật một Topic name hiện có bằng phương thức topics.patch(), như minh hoạ trong mẫu sau:
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']))
Các trường Topic id và updateTime do máy chủ tạo và không thể cập nhật bằng API.
Xoá một chủ đề
Bạn có thể xoá Topic hiện có bằng phương thức topics.delete(), như trong mẫu sau: