Topic هو تصنيف لتجميع عناصر CourseWork وCourseWorkMaterial في ساحة المشاركة ضمن إحدى الدورات التدريبية. يتم عادةً استخدام Topic لتصنيف هذه العناصر حسب التشابه، مثل الأسبوع الذي تم فيه تعيين العناصر أو موضوعها. يمكن للمستخدمين تنظيم عناصر ساحة المشاركات وتصفيتها بشكل مرئي في عرض الواجب الدراسي ضمن واجهة مستخدم Classroom.
يتم تحديد كل Topic من خلال معرّف فريد يحدّده الخادم. يتضمّن مرجع Topic أيضًا ما يلي:
name: الاسم المعروض في واجهة مستخدم Classroom-
updateTime: الوقت الذي تم فيه تعديلTopicآخر مرة courseId: معرّف الدورة التدريبية المرتبطة بهاTopic
إنشاء موضوع
يمكنك إنشاء Topic جديد في دورة تدريبية باستخدام طريقة topics.create()،
كما هو موضّح في المثال التالي:
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 مطلوبًا دائمًا ويجب أن يكون سلسلة غير فارغة. جميع الحقول الأخرى اختيارية.
استرداد تفاصيل الموضوع
يمكنك استرداد Topic معيّن حسب رقم التعريف باستخدام طريقة topics.get()، كما هو موضّح في المثال التالي:
Java
Python
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 في إحدى الدورات التدريبية، كما هو موضّح في المثال التالي:
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']))
تعديل موضوع
يمكنك تعديل Topic name حالي باستخدام طريقة topics.patch()، كما هو موضح في المثال التالي:
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 وupdateTime يتم إنشاؤهما من خلال الخادم، ولا يمكن تعديلهما باستخدام واجهة برمجة التطبيقات.
حذف موضوع
يمكنك حذف Topic حالي باستخدام طريقة topics.delete()، كما هو موضّح في المثال التالي: