Topic adalah label untuk mengelompokkan item streaming 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 forum 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 terakhir kaliTopicdiperbaruicourseId: ID kursus yang terkait denganTopic
Buat 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 wajib diisi dan harus berupa string 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: