Topic
برچسبی برای گروه بندی موارد جریان CourseWork
و CourseWorkMaterial
در یک دوره است. یک Topic
معمولاً برای دسته بندی این موارد بر اساس شباهت استفاده می شود، مانند هفته ای که آیتم ها اختصاص داده شده اند یا موضوع آنها. کاربران میتوانند به صورت بصری موارد جاری را در نمای Classwork UI Classroom سازماندهی و فیلتر کنند.
هر Topic
توسط یک شناسه منحصر به فرد اختصاص داده شده توسط سرور شناسایی می شود. منبع Topic
همچنین شامل موارد زیر است:
-
name
: نام نمایش داده شده در Classroom UI -
updateTime
: زمانی کهTopic
آخرین به روز رسانی شده است -
courseId
: شناسه دوره ای کهTopic
با آن مرتبط است
یک موضوع ایجاد کنید
همانطور که در نمونه زیر نشان داده شده است، می توانید با استفاده از متد topics.create()
یک Topic
جدید در یک دوره ایجاد کنید:
جاوا
پایتون
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
فیلد name
همیشه لازم است و باید یک رشته غیر خالی باشد. تمام فیلدهای دیگر اختیاری هستند.
بازیابی جزئیات موضوع
همانطور که در نمونه زیر نشان داده شده است، می توانید یک Topic
خاص را با ID با متد topics.get()
بازیابی کنید:
جاوا
پایتون
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
در یک دوره استفاده کنید:
جاوا
پایتون
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']))
یک موضوع را به روز کنید
همانطور که در نمونه زیر نشان داده شده است، می توانید name
Topic
موجود را با متد topics.patch()
به روز کنید:
جاوا
پایتون
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()
حذف کنید: