অভিভাবক তৈরি করুন এবং পরিচালনা করুন

একজন Guardian রিসোর্স এমন একজন ব্যবহারকারীকে (যেমন একজন অভিভাবক) প্রতিনিধিত্ব করে, যিনি একজন শিক্ষার্থীর কোর্স এবং পাঠ্যক্রম সম্পর্কিত তথ্য পান। অভিভাবক, যিনি সাধারণত শিক্ষার্থীর ক্লাসরুম ডোমেইনের সদস্য নন, তাঁকে তাঁর ইমেল ঠিকানা ব্যবহার করে আমন্ত্রণ জানাতে হয়।

GuardianInvitation রিসোর্সের মাধ্যমে আমন্ত্রণগুলো উপস্থাপন করা হয়। আমন্ত্রিত ব্যবহারকারী আমন্ত্রণটি গ্রহণ করার জন্য একটি ইমেল পান। যদি ইমেল ঠিকানাটি কোনো গুগল অ্যাকাউন্টের সাথে যুক্ত না থাকে, তবে আমন্ত্রণটি গ্রহণ করার আগে ব্যবহারকারীকে একটি অ্যাকাউন্ট তৈরি করতে বলা হয়।

যখন ব্যবহারকারীকে আমন্ত্রণ জানানো হয় এবং তিনি আমন্ত্রণটি গ্রহণ করার আগে, GuardianInvitation টির অবস্থা PENDING থাকে। ব্যবহারকারী আমন্ত্রণটি গ্রহণ করার সাথে সাথে, GuardianInvitation টিকে COMPLETED হিসেবে চিহ্নিত করা হয় এবং একটি Guardian রিসোর্স তৈরি হয়।

একটি GuardianInvitation অবস্থা COMPLETED এ পরিবর্তিত হতে পারে যদি এর মেয়াদ শেষ হয়ে যায় অথবা যদি কোনো অনুমোদিত ব্যবহারকারী আমন্ত্রণটি বাতিল করে দেয় (উদাহরণস্বরূপ, PatchGuardianInvitation পদ্ধতি ব্যবহার করে)। একজন অভিভাবক, একজন Classroom শিক্ষক, বা একজন প্রশাসক Classroom ওয়েব অ্যাপ্লিকেশন অথবা DeleteGuardian পদ্ধতি ব্যবহার করে অভিভাবক সম্পর্কটি ছিন্ন করতে পারেন।

কে অভিভাবকদের পরিচালনা করতে পারে

নিম্নলিখিত সারণিতে প্রমাণীকৃত ব্যবহারকারীর ধরন অনুযায়ী, অভিভাবকদের ক্ষেত্রে যে কাজগুলো করা যেতে পারে, তা বর্ণনা করা হয়েছে:

ব্যবহারকারীর ধরন অনুযায়ী অভিভাবক-সম্পর্কিত ACL-এর সারণী

স্কোপ

তিনটি স্কোপ রয়েছে যা আপনাকে গার্ডিয়ানদের পরিচালনা করতে দেয়:

  • https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly : একজন ব্যবহারকারীর নিজের অভিভাবকগণকে দেখুন।
  • https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly : ব্যবহারকারী যেসব ছাত্রছাত্রীকে পড়ান বা পরিচালনা করেন, তাদের অভিভাবক এবং অভিভাবকের আমন্ত্রণপত্র দেখুন।
  • https://www.googleapis.com/auth/classroom.guardianlinks.students : ব্যবহারকারীর পড়ানো বা পরিচালনা করা শিক্ষার্থীদের অভিভাবক এবং অভিভাবকের আমন্ত্রণপত্র দেখুন ও পরিচালনা করুন।

সাধারণ ক্রিয়া

এই বিভাগে গুগল ক্লাসরুম এপিআই ব্যবহার করে আপনি সম্পাদন করতে চাইতে পারেন এমন কিছু সাধারণ অভিভাবকীয় কার্যকলাপের বর্ণনা দেওয়া হয়েছে।

অভিভাবকের জন্য একটি আমন্ত্রণ তৈরি করুন

নিম্নলিখিত উদাহরণটি দেখায় যে আপনি কীভাবে userProfiles.guardianInvitations.create() পদ্ধতি ব্যবহার করে একটি অভিভাবক আমন্ত্রণ তৈরি করতে পারেন:

জাভা

classroom/snippets/src/main/java/CreateGuardianInvitation.java
GuardianInvitation guardianInvitation = null;

/* Create a GuardianInvitation object with state set to PENDING. See
https://developers.google.com/classroom/reference/rest/v1/userProfiles.guardianInvitations#guardianinvitationstate
for other possible states of guardian invitations. */
GuardianInvitation content =
    new GuardianInvitation()
        .setStudentId(studentId)
        .setInvitedEmailAddress(guardianEmail)
        .setState("PENDING");
try {
  guardianInvitation =
      service.userProfiles().guardianInvitations().create(studentId, content).execute();

  System.out.printf("Invitation created: %s\n", guardianInvitation.getInvitationId());
} catch (GoogleJsonResponseException e) {
  // TODO (developer) - handle error appropriately
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("There is no record of studentId: %s", studentId);
  } else {
    throw e;
  }
} catch (Exception e) {
  throw e;
}
return guardianInvitation;

পাইথন

guardianInvitation = {
  'invitedEmailAddress': 'guardian@gmail.com',
}
guardianInvitation = service.userProfiles().guardianInvitations().create(
                      studentId='student@mydomain.edu',
                          body=guardianInvitation).execute()
print("Invitation created with id: {0}".format(guardianInvitation.get('invitationId')))

প্রতিক্রিয়াটিতে একটি সার্ভার-নির্ধারিত শনাক্তকারী অন্তর্ভুক্ত থাকে যা GuardianInvitation কে নির্দেশ করতে ব্যবহার করা যেতে পারে।

অভিভাবকের আমন্ত্রণ বাতিল করুন

একটি আমন্ত্রণ বাতিল করতে, userProfiles.guardianInvitations.patch() মেথডটি কল করে আমন্ত্রণটির স্টেট PENDING থেকে COMPLETE এ পরিবর্তন করুন। একটি আমন্ত্রণ মুছে ফেলার এটিই একমাত্র উপায়।

জাভা

classroom/snippets/src/main/java/CancelGuardianInvitation.java
GuardianInvitation guardianInvitation = null;

try {
  /* Change the state of the GuardianInvitation from PENDING to COMPLETE. See
  https://developers.google.com/classroom/reference/rest/v1/userProfiles.guardianInvitations#guardianinvitationstate
  for other possible states of guardian invitations. */
  GuardianInvitation content =
      service.userProfiles().guardianInvitations().get(studentId, invitationId).execute();
  content.setState("COMPLETE");

  guardianInvitation =
      service
          .userProfiles()
          .guardianInvitations()
          .patch(studentId, invitationId, content)
          .set("updateMask", "state")
          .execute();

  System.out.printf(
      "Invitation (%s) state set to %s\n.",
      guardianInvitation.getInvitationId(), guardianInvitation.getState());
} catch (GoogleJsonResponseException e) {
  // TODO (developer) - handle error appropriately
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf(
        "There is no record of studentId (%s) or invitationId (%s).", studentId, invitationId);
  } else {
    throw e;
  }
} catch (Exception e) {
  throw e;
}
return guardianInvitation;

পাইথন

guardian_invite = {
     'state': 'COMPLETE'
}
guardianInvitation = service.userProfiles().guardianInvitations().patch(
  studentId='student@mydomain.edu',
  invitationId=1234, # Replace with the invitation ID of the invitation you want to cancel
  updateMask='state',
  body=guardianInvitation).execute()

একজন নির্দিষ্ট ছাত্রের জন্য আমন্ত্রণের তালিকা

userProfiles.guardianInvitations.list() মেথডটি ব্যবহার করে আপনি কোনো নির্দিষ্ট শিক্ষার্থীর জন্য পাঠানো সমস্ত আমন্ত্রণের একটি তালিকা পেতে পারেন। ডিফল্টরূপে, শুধুমাত্র PENDING আমন্ত্রণগুলোই ফেরত দেওয়া হবে। একজন ডোমেইন অ্যাডমিনিস্ট্রেটর একটি states প্যারামিটার প্রদান করে COMPLETED ) অবস্থায় থাকা আমন্ত্রণগুলোও পুনরুদ্ধার করতে পারেন।

জাভা

classroom/snippets/src/main/java/ListGuardianInvitationsByStudent.java
List<GuardianInvitation> guardianInvitations = new ArrayList<>();
String pageToken = null;

try {
  do {
    ListGuardianInvitationsResponse response =
        service
            .userProfiles()
            .guardianInvitations()
            .list(studentId)
            .setPageToken(pageToken)
            .execute();

    /* Ensure that the response is not null before retrieving data from it to avoid errors. */
    if (response.getGuardianInvitations() != null) {
      guardianInvitations.addAll(response.getGuardianInvitations());
      pageToken = response.getNextPageToken();
    }
  } while (pageToken != null);

  if (guardianInvitations.isEmpty()) {
    System.out.println("No guardian invitations found.");
  } else {
    for (GuardianInvitation invitation : guardianInvitations) {
      System.out.printf("Guardian invitation id: %s\n", invitation.getInvitationId());
    }
  }
} catch (GoogleJsonResponseException e) {
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("There is no record of studentId (%s).", studentId);
  } else {
    throw e;
  }
} catch (Exception e) {
  throw e;
}
return guardianInvitations;

পাইথন

guardian_invites = []
page_token = None

while True:
    response = service.userProfiles().guardianInvitations().list(
                                      studentId='student@mydomain.edu').execute()
    guardian_invites.extend(response.get('guardian_invites', []))
    page_token = response.get('nextPageToken', None)
    if not page_token:
        break

if not courses:
    print('No guardians invited for this {0}.'.format(response.get('studentId')))
else:
    print('Guardian Invite:')
    for guardian in guardian_invites:
        print('An invite was sent to '.format(guardian.get('id'),
                                              guardian.get('guardianId')))

সক্রিয় অভিভাবকদের তালিকা

কোন ব্যবহারকারী কোন নির্দিষ্ট শিক্ষার্থীর সক্রিয় অভিভাবক তা নির্ধারণ করতে, userProfiles.guardians.list() পদ্ধতিটি ব্যবহার করুন। সক্রিয় অভিভাবক হলেন তারাই যারা আমন্ত্রণটি গ্রহণ করেছেন।

জাভা

classroom/snippets/src/main/java/ListGuardians.java
List<Guardian> guardians = new ArrayList<>();
String pageToken = null;

try {
  do {
    ListGuardiansResponse response =
        service.userProfiles().guardians().list(studentId).setPageToken(pageToken).execute();

    /* Ensure that the response is not null before retrieving data from it to avoid errors. */
    if (response.getGuardians() != null) {
      guardians.addAll(response.getGuardians());
      pageToken = response.getNextPageToken();
    }
  } while (pageToken != null);

  if (guardians.isEmpty()) {
    System.out.println("No guardians found.");
  } else {
    for (Guardian guardian : guardians) {
      System.out.printf(
          "Guardian name: %s, guardian id: %s, guardian email: %s\n",
          guardian.getGuardianProfile().getName().getFullName(),
          guardian.getGuardianId(),
          guardian.getInvitedEmailAddress());
    }
  }

} catch (GoogleJsonResponseException e) {
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("There is no record of studentId (%s).", studentId);
  } else {
    throw e;
  }
} catch (Exception e) {
  throw e;
}
return guardians;

পাইথন

guardian_invites = []
page_token = None

while True:
    response = service.userProfiles().guardians().list(studentId='student@mydomain.edu').execute()
    guardian_invites.extend(response.get('guardian_invites', []))
    page_token = response.get('nextPageToken', None)
    if not page_token:
        break

if not courses:
    print('No guardians invited for this {0}.'.format(response.get('studentId')))
else:
    print('Guardian Invite:')
    for guardian in guardian_invites:
        print('An invite was sent to '.format(guardian.get('id'),
                                              guardian.get('guardianId')))

অভিভাবকদের অপসারণ করুন

আপনি userProfiles.guardians.delete() মেথডটি ব্যবহার করে একজন শিক্ষার্থীর অভিভাবককেও অপসারণ করতে পারেন:

জাভা

classroom/snippets/src/main/java/DeleteGuardian.java
try {
  service.userProfiles().guardians().delete(studentId, guardianId).execute();
  System.out.printf("The guardian with id %s was deleted.\n", guardianId);
} catch (GoogleJsonResponseException e) {
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("There is no record of guardianId (%s).", guardianId);
  }
}

পাইথন

service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
                                        guardianId='guardian@gmail.com').execute()