অ্যাপস স্ক্রিপ্টে CIG API অ্যাক্সেস করুন।
উন্নত ক্লাউড আইডেন্টিটি গ্রুপস (CIG) পরিষেবাটি আপনাকে গুগল অ্যাপস স্ক্রিপ্টে CIG API ব্যবহার করার সুযোগ দেয়।
এটি একটি উন্নত পরিষেবা যা ব্যবহারের আগে সক্রিয় করতে হবে।
রেফারেন্স
এই পরিষেবা সম্পর্কে বিস্তারিত তথ্যের জন্য, CIG API-এর রেফারেন্স ডকুমেন্টেশন দেখুন। Apps Script-এর অন্যান্য সকল অ্যাডভান্সড পরিষেবার মতোই, অ্যাডভান্সড CIG পরিষেবাটিও পাবলিক API-এর মতোই একই অবজেক্ট, মেথড এবং প্যারামিটার ব্যবহার করে। আরও তথ্যের জন্য, ‘মেথড সিগনেচার কীভাবে নির্ধারণ করা হয় ’ দেখুন।
নমুনা কোড
নিম্নলিখিত সহায়ক ফাংশনগুলো API-এর v1 সংস্করণ ব্যবহার করে।
একটি গ্রুপ তৈরি করুন
একটি গুগল গ্রুপ তৈরি করতে, নতুন গ্রুপ রিসোর্সের একটি ইনস্ট্যান্স সহ groups.create কল করুন। গ্রুপ ইনস্ট্যান্সটিতে অবশ্যই একটি groupKey , parent , এবং cloudidentity.googleapis.com/groups.discussion_forum এ সেট করা label অন্তর্ভুক্ত থাকতে হবে। আপনাকে initialGroupConfig প্যারামিটারটিও সেট করতে হবে, যা গ্রুপের প্রাথমিক মালিককে নির্ধারণ করে। এই প্যারামিটারের জন্য আপনি নিম্নলিখিত মানগুলি ব্যবহার করতে পারেন:
WITH_INITIAL_OWNER : অনুরোধকারী ব্যক্তিকে গ্রুপের মালিক করে তোলে।
EMPTY : কোনো প্রাথমিক মালিক ছাড়া একটি গ্রুপ তৈরি করে। আপনি শুধুমাত্র তখনই এই মানটি ব্যবহার করতে পারবেন যদি আপনি একজন Google Workspace সুপার অ্যাডমিন অথবা Google Groups অ্যাডমিন হন। 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);
}
}
একটি গ্রুপ অনুসন্ধান করুন
একটি গুগল গ্রুপ খুঁজতে, একটি কোয়েরি স্ট্রিং সহ 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);
}
}