Topic هو تصنيف لتجميع عناصر مصدر البيانات CourseWork و
CourseWorkMaterial ضمن دورة تدريبية. يُستخدم Topic عادةً
لتصنيف هذه العناصر حسب التشابه، مثل الأسبوع الذي تم فيه تعيين العناصر
أو موضوعها. يمكن للمستخدمين تنظيم عناصر مصدر البيانات وفلترتها بشكل مرئي في عرض الواجب الدراسي في واجهة مستخدم Classroom.
يتم تحديد كل Topic بمعرّف فريد يخصّصه الخادم. يحتوي أيضًا مورد Topic
على ما يلي:
name: الاسم المعروض في واجهة مستخدم ClassroomupdateTime: آخر وقت تم فيه تعديلTopiccourseId: رقم تعريف الدورة التدريبية المرتبطة بـTopic
إنشاء موضوع
يمكنك إنشاء Topic جديد في دورة تدريبية باستخدام طريقة topics.create()،
كما هو موضَّح في المثال التالي:
جافا
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()، كما
هو موضَّح في المثال التالي:
جافا
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 في دورة تدريبية، كما هو موضَّح
في المثال التالي:
جافا
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()، كما هو موضَّح في المثال التالي:
جافا
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()، كما هو موضَّح
في المثال التالي: