Topic, bir kurstaki CourseWork ve CourseWorkMaterial akış öğelerini gruplandırmak için kullanılan bir etikettir. Bu öğeleri benzerliğe göre (ör. öğelerin atandığı hafta veya konusu) kategorize etmek için genellikle Topic kullanılır. Kullanıcılar, Classroom kullanıcı arayüzünün Sınıf çalışmaları görünümünde akış öğelerini görsel olarak düzenleyip filtreleyebilir.
Her Topic, sunucu tarafından atanan benzersiz bir kimlikle tanımlanır. Topic
kaynağı ayrıca şunları da içerir:
name: Classroom kullanıcı arayüzünde gösterilen görünen adupdateTime:Topicson güncelleme zamanıcourseId:Topicöğesinin ilişkili olduğu kursun kimliği
Konu oluşturma
Aşağıdaki örnekte gösterildiği gibi, topics.create() yöntemini kullanarak bir kursta yeni bir Topic oluşturabilirsiniz:
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 alanı her zaman zorunludur ve boş olmayan bir dize olmalıdır. Diğer tüm alanlar isteğe bağlıdır.
Konu ayrıntılarını alma
Aşağıdaki örnekte gösterildiği gibi, topics.get() yöntemini kullanarak belirli bir Topic öğesini kimliğe göre alabilirsiniz:
Java
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
Bir kurstaki tüm Topic'leri almak için aşağıdaki örnekte gösterildiği gibi topics.list() yöntemini kullanın:
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']))
Konuyu güncelleme
Aşağıdaki örnekte gösterildiği gibi, mevcut bir Topic name öğesini topics.patch() yöntemiyle güncelleyebilirsiniz:
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 ve updateTime alanları sunucu tarafından oluşturulur ve API ile güncellenemez.
Konu silme
Aşağıdaki örnekte gösterildiği gibi, mevcut bir Topic öğesini topics.delete() yöntemiyle silebilirsiniz: