যেসব শিক্ষক ক্লাসরুম এবং থার্ড-পার্টি টুল উভয়ই ব্যবহার করেন, তাদের একাধিক প্ল্যাটফর্মে কোর্স এবং রোস্টার সেট আপ করার চ্যালেঞ্জের মুখোমুখি হতে হয়। এই কাজটি ম্যানুয়ালি করা হতে পারে, হয় CSV আপলোডের মাধ্যমে অথবা একটি একটি করে ইমেল প্রবেশ করানোর মাধ্যমে। তবে, ক্লাসরুম এপিআই (API) ব্যবহার করে, থার্ড-পার্টি টুলগুলো এপিআই-এর সবচেয়ে সাধারণ ব্যবহার— রোস্টার ইম্পোর্ট—এর সাথে ইন্টিগ্রেট করার মাধ্যমে শিক্ষকদের কাজের চাপ কমাতে পারে।
রোস্টার ইম্পোর্ট করার মাধ্যমে থার্ড-পার্টি প্ল্যাটফর্মগুলো শিক্ষক বা অ্যাডমিন পারমিশন ব্যবহার করে কোর্স-ভিত্তিক মেটাডেটা, শিক্ষক এবং শিক্ষার্থীদের তথ্য সংগ্রহ করতে পারে। শিক্ষকরা তাদের পড়ানো কোর্সগুলোর বিবরণ সংগ্রহ করতে পারেন, অন্যদিকে অ্যাডমিনদের একটি সম্পূর্ণ ডোমেইনের সমস্ত কোর্সের বিবরণে অ্যাক্সেস থাকে। এই নমনীয়তা ডেভেলপারদের অ্যাডমিন ক্রেডেনশিয়াল ব্যবহার করে স্বতন্ত্র শিক্ষক পর্যায়ে অথবা একটি সম্পূর্ণ ডোমেইন জুড়ে ক্লাসরুম রোস্টারগুলোকে তাদের প্ল্যাটফর্মে নির্বিঘ্নে যুক্ত করার সুযোগ দেয়।
একটি রোস্টার ইম্পোর্ট ইন্টিগ্রেশন দেখতে কেমন হতে পারে তার প্রযুক্তিগত বিবরণে যাওয়ার আগে, চলুন প্রথমে একটি উদাহরণ কর্মপ্রবাহ পর্যালোচনা করা যাক:
থার্ড-পার্টি অ্যাপ্লিকেশনে, একজন শিক্ষক একটি ক্লাসরুম কোর্স ইম্পোর্ট করার অপশনটি বেছে নেন।
তৃতীয় পক্ষের অ্যাপ্লিকেশনটি Classroom API-এর মাধ্যমে
courses.listমেথডটিকে কল করে, যা শিক্ষকের সমস্ত কোর্সসহ একটি JSON রেসপন্স ফেরত দেবে।json রেসপন্স থেকে, থার্ড-পার্টি অ্যাপ্লিকেশনটি শিক্ষকের কোর্সগুলোর শিরোনাম প্রদর্শন করে, যাতে তিনি একটি বেছে নিতে পারেন। পরবর্তী ধাপে যাওয়ার জন্য অ্যাপ্লিকেশনটিকে কোর্স আইডিগুলোর হিসাব রাখতে হবে।
নির্বাচিত কোর্স আইডি ব্যবহার করে, তৃতীয় পক্ষের অ্যাপ্লিকেশনটি
students.listএবংteachers.listমেথডগুলোকে কল করে এবং আমদানির জন্য শিক্ষকদের নিশ্চিতকরণের উদ্দেশ্যে তার ওয়েবসাইটে সমস্ত নাম প্রদর্শন করে।students.listএবংteachers.listরেসপন্স json-এ প্রাপ্ত ইমেলগুলো ব্যবহার করে, থার্ড-পার্টি অ্যাপ্লিকেশনটি ব্যবহারকারীদের তাদের প্ল্যাটফর্মে নতুন ইম্পোর্ট করা কোর্সে যোগদানের জন্য আমন্ত্রণ জানায়।
ওয়ার্কফ্লোতে উল্লেখিত প্রতিটি পদ্ধতির কার্যপ্রক্রিয়া ঠিক কীভাবে কাজ করে, তা দেখার জন্য আপনি এপিআই এক্সপ্লোরার (API Explorer) ব্যবহার করতে পারেন। এই নির্দেশিকাটি শেষ করার আগে আমরা নিম্নলিখিত বিষয়গুলো পড়ে নেওয়ারও পরামর্শ দিই:

শুরু করা
আপনার ক্লাসরুম রোস্টার ইম্পোর্টের খুঁটিনাটি বিষয়গুলো বাস্তবায়ন করার আগে, আপনাকে নির্ধারণ করতে হবে যে API-এর মাধ্যমে কোন কোর্স এবং ব্যবহারকারীর তথ্য সংগ্রহ করতে হবে। রেফারেন্স ডকুমেন্টেশনে আপনি দেখতে পারেন কোন কোর্স মেটাডেটাগুলো উপলব্ধ আছে, তবে কিছু প্রয়োজনীয় বা সাধারণ ফিল্ডের একটি সংক্ষিপ্ত বিবরণ নিচে দেওয়া হলো:
| মাঠ | ব্যবহার |
|---|---|
| আইডি | শিক্ষার্থী বা শিক্ষকদের তথ্য অনুসন্ধানের জন্য এপিআই অনুরোধের জন্য আবশ্যক। |
| নাম | ব্যবহারকারীর সুবিধার জন্য সুপারিশ করা হয়, অর্থাৎ আপনার ওয়েবসাইটে প্রদর্শনের জন্য। |
| মালিকের আইডি | কোনো কোর্সের প্রধান শিক্ষককে সঠিকভাবে শনাক্ত করার জন্য, ডোমেন-ব্যাপী ডেটা ইম্পোর্ট করার সময় এটি প্রয়োজন হয়। |
এই কোর্সের তথ্য উপরের ওয়ার্কফ্লো-এর courses.list ধাপে সংগ্রহ করা হয়। এই অনুরোধে আপনি নির্দিষ্ট কিছু অনুরোধ প্যারামিটার উল্লেখ করতে পারেন। যদিও এই পদ্ধতির জন্য কোনোটিই আবশ্যক নয়, কিছু প্রস্তাবিত প্যারামিটার হলো:
| প্যারামিটার | ব্যবহার |
|---|---|
| কোর্সস্টেট | অনির্দিষ্ট থাকলে, এপিআইটি ছয়টি কোর্স স্টেটের সবগুলোরই কোর্স ফেরত দেবে। শিক্ষকরা বর্তমানে যে কোর্সগুলো ব্যবহার করছেন, সেগুলো পাওয়ার জন্য আমরা ACTIVE নির্দিষ্ট করার পরামর্শ দিই। |
| পৃষ্ঠার আকার | যেসব শিক্ষক নিজেদের কোর্স ইম্পোর্ট করছেন, তাদের জন্য এপিআই কলের রেসপন্স টাইম কমানোর উদ্দেশ্যে আমরা একটি ছোট (১০-এর কম) pageSize নির্দিষ্ট করার পরামর্শ দিই। |
| পৃষ্ঠা টোকেন | পেজড রিকোয়েস্ট ব্যবহার করলে এটি আবশ্যক। |
| শিক্ষক আইডি | যেহেতু ডোমেইন অ্যাডমিনরা প্রায়শই কোর্স পরিচালনা করেন, তাই এটি সুপারিশ করা হয়। নির্দিষ্ট করে না দিলে, অনুরোধটি সমগ্র ডোমেইন জুড়ে থাকা শিক্ষকদের কোর্সগুলো ফেরত দেবে। |
| ক্ষেত্রগুলি | এপিআই কলের প্রতিক্রিয়া সময় কমানোর জন্য এটি সুপারিশ করা হয়। |
পূর্বে সংগৃহীত কোর্স আইডিগুলো ব্যবহার করে, আপনার অ্যাপ্লিকেশন এখন সেই কোর্স বা কোর্সগুলোর শিক্ষার্থী এবং সহ-শিক্ষকদের তালিকা সংগ্রহ করতে পারবে। teachers.list এবং students.list এর জন্য এই কোর্স আইডিটিই একমাত্র আবশ্যক কোয়েরি প্যারামিটার, কিন্তু আপনার এপিআই কলগুলোর রেসপন্স টাইম কমানোর জন্য আপনি একইভাবে pageSize এবং fields প্যারামিটারগুলোও নির্দিষ্ট করার কথা বিবেচনা করতে পারেন।
শিক্ষার্থী এবং শিক্ষক রিসোর্সের জন্য উপলব্ধ সমস্ত ফিল্ড তাদের নিজ নিজ ডকুমেন্টেশনে পাওয়া যাবে। সবচেয়ে বেশি ব্যবহৃত এবং সাধারণত প্রয়োজনীয় দুটি ফিল্ড হলো profile ফিল্ডের মধ্যে থাকা profile.name এবং profile.emailAddress ।
| মাঠ | ব্যবহার |
|---|---|
| প্রোফাইল.নাম | ব্যবহারকারীর সুবিধার জন্য সুপারিশ করা হয়, অর্থাৎ আপনার ওয়েবসাইটে প্রদর্শনের জন্য। |
| প্রোফাইল.ইমেইলঠিকানা | যেসব আবেদনে শিক্ষার্থীদের স্বতন্ত্রভাবে শনাক্ত করার প্রয়োজন হয়, সেগুলোর জন্য আবশ্যক। |
শ্রেণীকক্ষ থেকে এই কোর্স বা রোস্টারের বিবরণগুলি পুনরুদ্ধার করতে এবং ব্যবহার করতে, আপনার অ্যাপ্লিকেশনটিকে ব্যবহারকারীদের কাছ থেকে অনুমোদনের অনুরোধ করতে হবে। এই কর্মপ্রবাহ বাস্তবায়নের জন্য তিনটি (3) প্রয়োজনীয় স্কোপ রয়েছে:
- https://www.googleapis.com/auth/classroom.courses.readonly
- গুগল ক্লাসরুম কোর্সগুলিতে শুধুমাত্র পড়ার অ্যাক্সেস প্রদান করে
- https://www.googleapis.com/auth/classroom.rosters.readonly
- গুগল ক্লাসরুম কোর্সের শিক্ষক ও শিক্ষার্থীদের তালিকায় শুধুমাত্র পঠনযোগ্য (Read-Only) প্রবেশাধিকার প্রদান করে।
- https://www.googleapis.com/auth/classroom.profile.emails
- শিক্ষক ও শিক্ষার্থীদের ইমেইলে পড়ার অনুমতি প্রদান করে।
পাব/সাব নোটিফিকেশনের সাথে রোস্টার সিঙ্ক করুন
শিক্ষাবর্ষ এগোনোর সাথে সাথে, শিক্ষার্থীরা কোর্স বাদ দিলে বা নতুন কোর্স যোগ করলে রোস্টার পরিবর্তিত হতে পারে। পাব/সাব নোটিফিকেশন যোগ করলে আপনি আপনার থার্ড-পার্টি অ্যাপ্লিকেশনটিকে ক্লাসরুম রোস্টারের সাথে সিঙ্ক করে রাখতে পারবেন। নোটিফিকেশন পাওয়ার জন্য, আপনাকে একটি গুগল ক্লাউড পাব/সাব টপিক সেট আপ করতে হবে এবং তারপর ক্লাসরুম এপিআই-এর সাথে টপিকটি রেজিস্টার করতে হবে। এই রেজিস্ট্রেশনটি হলো ক্লাসরুমের কাছে একটি অনুরোধ, যাতে এটি প্রদত্ত ফিড থেকে প্রদত্ত টপিকে ডেটা পাঠায়। এই ফিডটিই একজন শিক্ষকের ক্লাসরুম রোস্টারের সাথে পুনরায় সিঙ্ক করার জন্য ইভেন্ট ট্রিগার হিসেবে কাজ করবে।
পুশ নোটিফিকেশন ব্যবহার করার জন্য একটি অতিরিক্ত স্কোপের প্রয়োজন হবে, যা যাচাইকরণের জন্য জমা দিতে হবে না:
- https://www.googleapis.com/auth/classroom.push-notifications
- আপনার অ্যাপকে যেকোনো পুশ নোটিফিকেশন কার্যক্রমে নিবন্ধন করার অনুমতি দেয়।

ক্লাসরুম পুশ নোটিফিকেশনের সাথে কীভাবে ইন্টিগ্রেট করবেন সে সম্পর্কে আরও বিস্তারিত জানতে, আমাদের ‘ম্যানেজ পুশ নোটিফিকেশন’ গাইডটি দেখুন।