Topic คือป้ายกำกับสำหรับจัดกลุ่มCourseWorkและรายการสตรีมCourseWorkMaterialภายในหลักสูตร โดยปกติแล้ว Topic จะใช้
เพื่อจัดหมวดหมู่รายการเหล่านี้ตามความคล้ายคลึงกัน เช่น สัปดาห์ที่กำหนดรายการ
หรือเรื่องของรายการ ผู้ใช้สามารถจัดระเบียบและกรองรายการในสตรีมด้วยภาพในมุมมองงานในชั้นเรียนของ UI ของ Classroom
Topic แต่ละรายการจะมีรหัสที่ไม่ซ้ำกันที่เซิร์ฟเวอร์กำหนด นอกจากนี้ แหล่งข้อมูล Topic
ยังมีข้อมูลต่อไปนี้ด้วย
name: ชื่อที่แสดงใน UI ของ ClassroomupdateTime: เวลาที่Topicได้รับการอัปเดตล่าสุดcourseId: รหัสของหลักสูตรที่เชื่อมโยงกับTopic
สร้างหัวข้อ
คุณสร้าง Topic ใหม่ในหลักสูตรได้โดยใช้วิธี 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'])
ต้องระบุฟิลด์ name เสมอและต้องเป็นสตริงที่ไม่ว่าง ส่วนช่องอื่นๆ
ทั้งหมดไม่บังคับ
เรียกดูรายละเอียดหัวข้อ
คุณสามารถดึงข้อมูล Topic ที่เฉพาะเจาะจงตามรหัสได้ด้วยเมธอด 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() เพื่อดึงข้อมูล Topic ทั้งหมดในหลักสูตร ดังที่แสดง
ในตัวอย่างต่อไปนี้
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']))
อัปเดตหัวข้อ
คุณอัปเดต Topic name ที่มีอยู่ได้ด้วยเมธอด 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']))
ฟิลด์ Topic id และ updateTime สร้างขึ้นโดยเซิร์ฟเวอร์และอัปเดตด้วย API ไม่ได้
ลบหัวข้อ
คุณลบ Topic ที่มีอยู่ได้ด้วยเมธอด topics.delete() ดังที่แสดง
ในตัวอย่างต่อไปนี้