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() حذف کنید: