একটি Topic হলো একটি কোর্সের মধ্যে CourseWork এবং CourseWorkMaterial স্ট্রিম আইটেমগুলোকে দলবদ্ধ করার জন্য ব্যবহৃত একটি লেবেল। সাধারণত এই আইটেমগুলোকে তাদের সাদৃশ্য অনুসারে শ্রেণিবদ্ধ করতে Topic ব্যবহার করা হয়, যেমন—যে সপ্তাহে আইটেমগুলো অ্যাসাইন করা হয়েছে বা সেগুলোর বিষয়। ব্যবহারকারীরা ক্লাসরুম UI-এর ক্লাসওয়ার্ক ভিউতে স্ট্রিম আইটেমগুলোকে দৃশ্যত সাজাতে এবং ফিল্টার করতে পারেন।
প্রতিটি Topic সার্ভার কর্তৃক নির্ধারিত একটি অনন্য আইডি দ্বারা চিহ্নিত করা হয়। Topic রিসোর্সটিতে নিম্নলিখিত বিষয়গুলোও থাকে:
-
name: ক্লাসরুম 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 ফিল্ডটি সর্বদা আবশ্যক এবং এটি অবশ্যই একটি নন-এম্পটি স্ট্রিং হতে হবে। অন্য সব ফিল্ড ঐচ্ছিক।
টপিকের বিবরণ পুনরুদ্ধার করুন
আপনি topics.get() মেথড ব্যবহার করে আইডি দ্বারা একটি নির্দিষ্ট Topic খুঁজে পেতে পারেন, যেমনটি নিম্নলিখিত নমুনায় দেখানো হয়েছে:
জাভা
পাইথন
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
একটি কোর্সের সমস্ত টপিক ( Topic ) পেতে topics.list() মেথডটি ব্যবহার করুন, যেমনটি নিচের নমুনায় দেখানো হয়েছে:
জাভা
পাইথন
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']))
একটি বিষয় আপডেট করুন
আপনি topics.patch() মেথড ব্যবহার করে একটি বিদ্যমান Topic name আপডেট করতে পারেন, যেমনটি নিম্নলিখিত নমুনায় দেখানো হয়েছে:
জাভা
পাইথন
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 দিয়ে এগুলো আপডেট করা যায় না।
একটি বিষয় মুছে ফেলুন
আপনি topics.delete() মেথড ব্যবহার করে একটি বিদ্যমান Topic মুছে ফেলতে পারেন, যেমনটি নিম্নলিখিত নমুনায় দেখানো হয়েছে: