שירות Cloud Identity Groups (CIG) המתקדם מאפשר לכם להשתמש ב-CIG API ב-Apps Script.
חומרי עזר
מידע מפורט על השירות הזה מופיע במסמכי העזרה של CIG API. בדומה לכל השירותים המתקדמים ב-Apps Script, שירות ה-CIG המתקדם משתמש באותם אובייקטים, שיטות ופרמטרים כמו ממשק ה-API הציבורי. מידע נוסף זמין במאמר איך נקבעות חתימות של שיטות.
קוד לדוגמה
פונקציות העזר הבאות משתמשות בגרסה v1 של ה-API.
צור קבוצה
כדי ליצור קבוצת 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
עם מחרוזת שאילתה. כדי לחפש בכל הקבוצות, צריך לציין את
label
cloudidentity.googleapis.com/groups.discussion_forum
.
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);
}
}