A Topic adalah label untuk mengelompokkan item aliran CourseWork dan
CourseWorkMaterial dalam kursus. Topic biasanya digunakan untuk mengategorikan item ini berdasarkan kesamaan, seperti minggu saat item ditetapkan atau subjeknya. Pengguna dapat mengatur dan memfilter item aliran secara visual di tampilan Tugas Kelas pada UI Classroom.
Setiap Topic diidentifikasi oleh ID unik yang ditetapkan oleh server. Resource Topic juga berisi hal berikut:
name: Nama tampilan yang ditampilkan di UI ClassroomupdateTime: Waktu terakhirTopicdiperbaruicourseId: ID kursus yang terkait denganTopic
Membuat Topik
Anda dapat membuat Topic baru dalam kursus menggunakan metode topics.create(),
seperti yang ditunjukkan dalam contoh berikut:
Java
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
Kolom name selalu diperlukan dan harus berupa string yang tidak kosong. Semua kolom lainnya bersifat opsional.
Mengambil detail Topik
Anda dapat mengambil Topic tertentu menurut ID dengan metode topics.get(), seperti
yang ditunjukkan dalam contoh berikut:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Gunakan metode topics.list() untuk mengambil semua Topic dalam kursus, seperti yang ditunjukkan
dalam contoh berikut:
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']))
Memperbarui Topik
Anda dapat memperbarui Topic name yang ada dengan metode topics.patch(), seperti
yang ditunjukkan dalam contoh berikut:
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']))
Kolom Topic id dan updateTime dibuat oleh server dan tidak dapat diperbarui dengan API.
Menghapus Topik
Anda dapat menghapus Topic yang ada dengan metode topics.delete(), seperti yang ditunjukkan
dalam contoh berikut: