উন্নত ক্লাউড আইডেন্টিটি গ্রুপ পরিষেবা

উন্নত ক্লাউড আইডেন্টিটি গ্রুপ (CIG) পরিষেবা আপনাকে Apps স্ক্রিপ্টে CIG API ব্যবহার করতে দেয়৷

রেফারেন্স

এই পরিষেবার বিস্তারিত তথ্যের জন্য, CIG API-এর জন্য রেফারেন্স ডকুমেন্টেশন দেখুন। Apps Script-এর সমস্ত উন্নত পরিষেবাগুলির মতো, উন্নত CIG পরিষেবা পাবলিক API হিসাবে একই বস্তু, পদ্ধতি এবং পরামিতিগুলি ব্যবহার করে৷ আরও তথ্যের জন্য, দেখুন কিভাবে পদ্ধতি স্বাক্ষর নির্ধারণ করা হয়

নমুনা কোড

নিম্নলিখিত সহায়ক ফাংশন API-এর সংস্করণ v1 ব্যবহার করে।

একটি গ্রুপ তৈরি করুন

একটি Google গ্রুপ তৈরি করতে, নতুন গ্রুপ রিসোর্সের একটি উদাহরণ সহ groups.create কল করুন। গ্রুপ ইন্সট্যান্সে অবশ্যই একটি groupKey , parent এবং label সেট করা থাকতে হবে cloudidentity.googleapis.com/groups.discussion_forum । আপনাকে initialGroupConfig প্যারামিটারও সেট করতে হবে, যা গ্রুপের প্রাথমিক মালিককে সংজ্ঞায়িত করে। আপনি এই প্যারামিটারের জন্য নিম্নলিখিত মানগুলি ব্যবহার করতে পারেন:

WITH_INITIAL_OWNER : অনুরোধ পাঠানো ব্যক্তিকে গ্রুপের মালিক করে তোলে।

EMPTY : কোনো প্রাথমিক মালিক ছাড়াই একটি গোষ্ঠী তৈরি করে৷ আপনি যদি একজন Google Workspace সুপার অ্যাডমিন বা গ্রুপ অ্যাডমিন হন তবেই আপনি এই মানটি ব্যবহার করতে পারবেন। Google Workspace ভূমিকা সম্পর্কে আরও তথ্যের জন্য, প্রি-বিল্ট অ্যাডমিনিস্ট্রেটরের ভূমিকা দেখুন।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি গ্রুপ তৈরি করতে হয় যাতে ব্যবহারকারী গ্রুপের মালিক হয়:

const groups = CloudIdentityGroups.Groups;

function createGroup(groupId, parentId, displayName) {
  const groupKey = { id: groupId };
  const group = {
    parent: "customerId/" + parentId,
    displayName: displayName,
    groupKey: groupKey,
    // Set the label to specify creation of a Google Group.
    labels: { "cloudidentity.googleapis.com/groups.discussion_forum": "" },
  };
  const optionalArgs = { initialGroupConfig: "WITH_INITIAL_OWNER" };

  try {
    const response = groups.create(group, optionalArgs);
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

একটি গ্রুপ অনুসন্ধান করুন

একটি Google গ্রুপ অনুসন্ধান করতে, একটি ক্যোয়ারী স্ট্রিং সহ groups.search কল করুন। সমস্ত গোষ্ঠী অনুসন্ধান করতে, cloudidentity.googleapis.com/groups.discussion_forum label প্রদান করুন।

const groups = CloudIdentityGroups.Groups;

function searchGroup(customer_id) {
  const search_query = `parent=='customerId/${customer_id}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels`;
  const search_group_request = groups.search({ query: search_query });
  console.log(JSON.stringify(search_group_request));
}

একটি গ্রুপে সদস্যপদ যোগ করুন

একটি গ্রুপ বিদ্যমান থাকার পরে, আপনি এটির জন্য সদস্যতা তৈরি করতে পারেন। এই পদ্ধতির জন্য একটি membership সংস্থান এবং পিতামাতার সম্পদের name স্ট্রিং প্রয়োজন৷ lookup পদ্ধতির মাধ্যমে গ্রুপটি সন্ধান করে পূর্বের মানটি পাওয়া যেতে পারে।

নিম্নলিখিত সাহায্যকারী পদ্ধতি একটি গ্রুপে সদস্যপদ যোগ করার একটি উদাহরণ দেখায়। expiryDetail হল একটি ঐচ্ছিক ক্ষেত্র যা সদস্যতার মেয়াদ শেষ করতে যোগ করা যেতে পারে। preferredMemberKey এর মান হল সদস্যের ইমেল ঠিকানা।

const groups = CloudIdentityGroups.Groups;

function createMembership(namespace, groupId, memberKey) {
  try {
    // Given a group ID and namespace, retrieve the ID for parent group
    const groupLookupResponse = groups.lookup({
      'groupKey.id': groupId,
      'groupKey.namespace': namespace
    });
    const groupName = groupLookupResponse.name;

    // Create a membership object with a memberKey and a single role of type MEMBER
    const membership = {
      preferredMemberKey: { id: memberKey },
      roles: [
        {
          name: "MEMBER",
          expiryDetail: {
            expireTime: "2025-10-02T15:01:23Z",
          },
        },
      ],
    };

    // Create a membership using the ID for the parent group and a membership object
    const response = groups.Memberships.create(membership, groupName);
    console.log(JSON.stringify(response));
  } catch (e) {
    console.error(e);
  }
}

সদস্য থেকে সদস্যপদ পান

কোনো সদস্যের অবিলম্বে পিতামাতার সন্ধান করতে groups.memberships.searchDirectGroups পদ্ধতি ব্যবহার করুন।

নিম্নলিখিত সাহায্যকারী পদ্ধতিটি একটি প্রদত্ত সদস্যের সরাসরি সদস্যতার মাধ্যমে পুনরাবৃত্তি করার একটি উদাহরণ দেখায়।

const groups = CloudIdentityGroups.Groups;

 function searchMemberMemberships(memberId, pageSize) {
  try {
    let memberships = [];
    let nextPageToken = '';
    const withinParent = 'groups/-';  // This parameter sets the scope as "all groups"

    do {
      // Get page of memberships
      const queryParams = {
        query: `member_key_id == \'${memberId}\'`,
        page_size: pageSize,
        page_token: nextPageToken,
      };
      const response = groups.Memberships.searchDirectGroups(withinParent, queryParams);
      memberships = memberships.concat(response.memberships);

      // Set up next page
      nextPageToken = response.nextPageToken;
    } while (nextPageToken);

    return memberships;
  } catch(e) {
    console.error(e);
  }
}

একটি গ্রুপ থেকে সদস্যপদ পান

একটি গ্রুপের সদস্যদের তালিকা করতে groups.memberships.list পদ্ধতি ব্যবহার করুন।

groupId : আপনি যে গ্রুপের সদস্যদের তালিকা করতে চান তার সংখ্যাসূচক আইডি। একটি একক গ্রুপের আইডি খুঁজে পেতে, groups.lookup পদ্ধতি ব্যবহার করুন। একটি গ্রাহক বা নামস্থানের অধীনে সমস্ত গ্রুপ আইডি দেখতে, groups.list পদ্ধতি ব্যবহার করুন।

const groups = CloudIdentityGroups.Groups;

function listGroupMemberships(groupId, pageSize) {
  try {
    let membershipList = [];
    let nextPageToken = '';

    // Get group name
    const groupName = groups.lookup({'groupKey.id': groupId}).name;

    do {
      // Get page of memberships
      const queryParams = {
        pageSize: pageSize,
        pageToken: nextPageToken
      }
      const response = groups.Memberships.list(groupName, queryParams);
      membershipList = membershipList.concat(response.memberships);

      // Set up next page
      nextPageToken = response.nextPageToken;
    } while(nextPageToken);

    return membershipList;
  } catch (error) {
    console.error(error);
  }
}