Topic
là nhãn để nhóm các mục phát trực tuyến 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 giao 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 trong luồng một 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ị trong giao diện người dùng của Lớp họcupdateTime
: Thời gian cập nhậtTopic
gần đây nhấtcourseId
: Mã nhận dạng của khoá học màTopic
liên kết
Tạo chủ đề
Bạn có thể tạo một Topic
mới trong một khoá học bằng cách sử dụng phương thức topics.create()
, như 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 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 là 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 chủ đề
Bạn có thể cập nhật Topic
name
hiện có bằng phương thức topics.patch()
, như 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á chủ đề
Bạn có thể xoá Topic
hiện có bằng phương thức topics.delete()
, như trong mẫu sau: