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
:Topic
son 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: