ছাত্র গোষ্ঠী তৈরি এবং পরিচালনা করুন

বর্ধিত শিক্ষণ অভিজ্ঞতার জন্য শিক্ষার্থীদের নির্দিষ্ট গোষ্ঠীতে সংগঠিত করতে আপনি ছাত্র গোষ্ঠীগুলি ব্যবহার করতে পারেন, যেমন টার্গেটেড অ্যাসাইনমেন্ট এবং সহযোগী কার্যকলাপ। প্রশাসক এবং শিক্ষকদের পক্ষ থেকে একটি কোর্সের মধ্যে ছাত্র গোষ্ঠী তৈরি, সংশোধন এবং পড়ার জন্য Classroom API ব্যবহার করুন।

আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে ছাত্র গোষ্ঠীগুলি তৈরি করতে, আপডেট করতে, মুছতে এবং পড়তে পারেন:

এছাড়াও আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে একটি ছাত্র গোষ্ঠীর মধ্যে সদস্যদের যোগ করতে, সরাতে এবং পড়তে পারেন:

বিকাশকারী পূর্বরূপ প্রোগ্রামে ছাত্র গোষ্ঠীর পদ্ধতিগুলি অ্যাক্সেস করুন৷

প্রাকদর্শনে ছাত্র গোষ্ঠীর পদ্ধতিগুলি অ্যাক্সেস করতে, আপনাকে অবশ্যই নিম্নলিখিতগুলি করতে হবে:

  • ডেভেলপার প্রিভিউ প্রোগ্রামে (DPP) যোগ দিন।
  • পূর্বরূপ বৈশিষ্ট্যগুলি অ্যাক্সেস করতে আপনার ক্লায়েন্ট লাইব্রেরি সেট আপ করুন৷ DPP-এর পদ্ধতিগুলি স্ট্যান্ডার্ড ক্লায়েন্ট লাইব্রেরি এবং স্ট্যান্ডার্ড HTTP অনুরোধগুলিতে প্রকাশ করা হয় না। আপনি সফলভাবে DPP-এ যোগদান করার পরে, আপনি নির্দিষ্ট প্রোগ্রামিং ভাষার জন্য ছাত্র গোষ্ঠীর ক্লায়েন্ট লাইব্রেরিগুলিতে অ্যাক্সেস এবং ডাউনলোড করতে পারেন। একটি পূর্বরূপ সংস্করণ এবং লেবেল সহ আপনার পছন্দের ক্লায়েন্ট লাইব্রেরি কীভাবে সেট আপ করবেন তা শিখতে অ্যাক্সেস পূর্বরূপ APIs পৃষ্ঠাটি দেখুন৷
  • API অনুরোধ করার সময় পূর্বরূপ সংস্করণ এবং পূর্বরূপ লেবেল সেট করুন। ছাত্র গোষ্ঠীর পদ্ধতিগুলির জন্য, পূর্বরূপ সংস্করণটি হল V1_20250630_PREVIEW এবং পূর্বরূপ লেবেলটি হল DEVELOPER_PREVIEW । আপনি স্টুডেন্ট গ্রুপ পরিচালনা বিভাগে পূর্বরূপ সংস্করণ সহ API অনুরোধের উদাহরণ খুঁজে পেতে পারেন।

লাইসেন্সিং এবং যোগ্যতার প্রয়োজনীয়তা

একটি কোর্সে ছাত্র গোষ্ঠীগুলি তৈরি করতে, সংশোধন করতে বা মুছে ফেলতে এবং ছাত্র গোষ্ঠী থেকে সদস্যদের যোগ করতে বা সরাতে, নিম্নলিখিত শর্তগুলি অবশ্যই পূরণ করতে হবে:

  • যে ব্যবহারকারী অনুরোধ করছেন তাকে অবশ্যই কোর্সের একজন শিক্ষক বা ডোমেনের প্রশাসক হতে হবে।
  • যে ব্যবহারকারী অনুরোধ করবেন তাদের অবশ্যই একটি Google Workspace for Education Plus লাইসেন্স থাকতে হবে।
  • কোর্সের মালিকের অবশ্যই Google Workspace for Education Plus লাইসেন্স থাকতে হবে।

ছাত্র দল এবং এর সদস্যদের পড়া

একটি কোর্সের প্রশাসক এবং শিক্ষকরা তাদের নির্ধারিত লাইসেন্স নির্বিশেষে ছাত্র গোষ্ঠীর ডেটা পড়তে পারেন। এর মানে হল যে কোনও কোর্সে যে কোনও প্রশাসক বা শিক্ষকের তরফে ListStudentGroups এবং ListStudentGroupMembers এন্ডপয়েন্টের অনুরোধগুলি অনুমোদিত৷

কোড উদাহরণ পূর্বশর্ত

এই নির্দেশিকাটি পাইথনে কোড উদাহরণ প্রদান করে এবং অনুমান করে যে আপনার নিম্নলিখিতগুলি রয়েছে:

  • একটি Google ক্লাউড প্রকল্প। আপনি পাইথন কুইকস্টার্টে নির্দেশাবলী অনুসরণ করে একটি সেট আপ করতে পারেন।
  • আপনার প্রোজেক্টের OAuth সম্মতি স্ক্রিনে নিম্নলিখিত স্কোপ যোগ করা হয়েছে:
    • https://www.googleapis.com/auth/classroom.rosters
    • https://www.googleapis.com/auth/classroom.rosters.readonly শুধুমাত্র পঠনযোগ্য এন্ডপয়েন্টের জন্য।
  • একটি কোর্সের একটি আইডি যেখানে ছাত্র গোষ্ঠীগুলি পরিচালনা করা উচিত৷ কোর্সের মালিকের অবশ্যই Google Workspace for Education Plus লাইসেন্স থাকতে হবে।
  • Google Workspace for Education Plus লাইসেন্সের মাধ্যমে শিক্ষক বা প্রশাসকের শংসাপত্রে অ্যাক্সেস করুন।

আপনি যদি পাইথন কুইকস্টার্টকে একটি সূচনা বিন্দু হিসাবে অনুসরণ করেন, তবে পূর্বরূপ পদ্ধতিগুলি অ্যাক্সেস করতে ক্লাসরুম পরিষেবাটি পরিবর্তন করুন।

পাইথন

classroom_service = googleapiclient.discovery.build(
    serviceName='classroom',
    version='v1',
    credentials=creds,
    static_discovery=False,
    discoveryServiceUrl='https://classroom.googleapis.com/$discovery/rest?labels=DEVELOPER_PREVIEW&key=API_KEY')

ব্যবহারকারীর যোগ্যতা পরীক্ষা করুন

ক্লাসরুম এপিআই userProfiles.checkUserCapability এন্ডপয়েন্ট প্রদান করে যাতে আপনি সক্রিয়ভাবে নির্ধারণ করতে পারেন যে একজন ব্যবহারকারী ছাত্র গোষ্ঠী এবং এর সদস্যদের তৈরি এবং সংশোধন করতে সক্ষম কিনা।

userProfiles.checkUserCapability এন্ডপয়েন্ট শুধুমাত্র একজন ব্যবহারকারী একটি নির্দিষ্ট ক্ষমতা যেমন ছাত্র গোষ্ঠী পরিবর্তন করার জন্য যোগ্য কিনা তা মূল্যায়ন করে। এটি কোর্সের ভূমিকা সম্পর্কে কোনো তথ্য প্রদান করে না। উদাহরণ স্বরূপ, একজন ব্যবহারকারীর CREATE_STUDENT_GROUP সক্ষমতা থাকলেও, তারা যদি কোর্সের একজন ছাত্র হয়, CreateStudentGroup এন্ডপয়েন্টে একটি অনুরোধ সফল হবে না।

পাইথন

def check_student_groups_update_capability(classroom_service, course_id):
    """Checks whether a user is able to create and modify student groups in a course."""
    capability = classroom_service.userProfiles().checkUserCapability(
        userId="me", # Can also be set to a different user's email address or ID
        capability="CREATE_STUDENT_GROUP",
        previewVersion="V1_20240930_PREVIEW" # Required while the method is in the DPP.
    ).execute()

    if capability.get("allowed"): # Retrieve the `allowed` boolean from the response.
        print("User is allowed to create and modify student groups.")
    else:
        print("User is not allowed to create and modify student groups.")

ছাত্রদল পরিচালনা করুন

CreateStudentGroup এন্ডপয়েন্ট ব্যবহার করে স্টুডেন্ট গ্রুপ তৈরি করা যেতে পারে।

পাইথন

def create_student_group(classroom_service, course_id):
    body = {
        "title": "Team Blue"
    }

    response = classroom_service.courses().studentGroups().create(
        courseId=course_id,
        body=body,
        previewVersion="V1_20250630_PREVIEW",
    ).execute()

    print(response)

প্রতিক্রিয়াটিতে নতুন তৈরি করা ছাত্র গোষ্ঠীর id , courseId এবং ছাত্র গোষ্ঠীর title রয়েছে৷

স্টুডেন্ট গ্রুপ id পৃথক ছাত্র গোষ্ঠী আপডেট বা মুছে ফেলার জন্য ব্যবহার করা যেতে পারে।

পাইথন

def update_student_group(classroom_service, course_id, student_group_id):
    body = {
        "title": "Team Green"
    }

    response = classroom_service.courses().studentGroups().patch(
        courseId=course_id,
        id=student_group_id,
        body=body,
        updateMask="title",
        previewVersion="V1_20250630_PREVIEW"
    ).execute()

    print(response)
def delete_student_group(classroom_service, course_id, student_group_id):
    response = classroom_service.courses().studentGroups().delete(
        courseId=course_id,
        id=student_group_id,
        previewVersion="V1_20250630_PREVIEW",
    ).execute()

    print(response)

আপনি ListStudentGroups এন্ডপয়েন্ট ব্যবহার করে একটি কোর্সের মধ্যে ছাত্র গোষ্ঠীগুলি পুনরুদ্ধার করতে পারেন:

পাইথন

def list_student_groups(classroom_service, course_id):
    results = classroom_service.courses().studentGroups().list(
        courseId=course_id,
        previewVersion="V1_20250630_PREVIEW"
    ).execute()

    studentGroups = results.get("studentGroups")

ছাত্র দলের সদস্যদের পরিচালনা করুন

ছাত্রদল সফলভাবে তৈরি হয়ে গেলে, আপনি এতে সদস্য যোগ করতে পারেন।

পাইথন

def add_student_group_member(classroom_service, course_id, student_group_id):
    body = {
        "userId": "student@schooldomain.com"
    }

    response = classroom_service.courses().studentGroups().studentGroupMembers().create(
        courseId=course_id,
        studentGroupId=student_group_id,
        body=body,
        previewVersion="V1_20250630_PREVIEW"
    ).execute()

    print(response)

আপনি যদি একটি ছাত্র গোষ্ঠী থেকে একজন সদস্যকে সরাতে চান তবে নিম্নলিখিতগুলির মতো একটি অনুরোধ করুন:

পাইথন

def delete_student_group_member(classroom_service, course_id, student_group_id):
    response = classroom_service.courses().studentGroups().studentGroupMembers().delete(
        courseId=course_id,
        studentGroupId=student_group_id,
        userId="student@schooldomain.com",
        previewVersion="V1_20250630_PREVIEW"
    ).execute()
    print(response)

আপনি নিম্নলিখিত অনুরোধ করে একটি গ্রুপের সদস্যদের পড়তে পারেন:

পাইথন

def list_student_group_members(classroom_service, course_id, student_group_id):
    results = classroom_service.courses().studentGroups().studentGroupMembers().list(
        courseId=course_id,
        studentGroupId=student_group_id,
        previewVersion="V1_20250630_PREVIEW"
    ).execute()

    print(results.get("studentGroupMembers"))

প্রতিটি StudentGroupMember রিসোর্সে গ্রুপ মেম্বারদের courseId , studentGroupId এবং userId অন্তর্ভুক্ত থাকে।