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ủaTopic
courseId
: 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: