כדי לעדכן ולאחזר הגדרות של קבוצות Google, צריך לאמת כל בקשת API ולכלול מפתח API. מידע נוסף מופיע במאמר בנושא יצירת פרטי גישה. מידע נוסף זמין במאמר מידע על אימות והרשאה.
עדכון כל ההגדרות של קבוצה
כדי לעדכן את ההגדרות של קבוצה, צריך לכלול את הכותרת Authorization ואת מפתח ה-API בבקשת ה-HTTP הבאה PUT:
PUT https://www.googleapis.com/groups/v1/groups/GROUP_ID
מחליפים את GROUP_ID במזהה של הקבוצה – לדוגמה, הפקודה הבאה מעדכנת את ההגדרות של הקבוצה salesgroup@example.com:
PUT https://www.googleapis.com/groups/v1/groups/salesgroup@example.com
גוף הבקשה הוא בפורמט JSON. בדוגמה הבאה מוצגות כל ההגדרות האפשריות:
{
"kind": "groupsSettings#groups",
"email": "salesgroup@example.com",
"name": "Sales Group",
"description": "This is the sales group",
"whoCanAdd": "ALL_MANAGERS_CAN_ADD",
"whoCanJoin": "INVITED_CAN_JOIN",
"whoCanViewMembership": "ALL_IN_DOMAIN_CAN_VIEW",
"whoCanViewGroup": "ALL_IN_DOMAIN_CAN_VIEW",
"whoCanInvite": "ALL_MANAGERS_CAN_INVITE",
"allowExternalMembers": "true",
"whoCanAddExternalMembers": "ONLY_ADMINS_CAN_ADD_EXTERNAL_MEMBERS",
"whoCanPostMessage": "ALL_IN_DOMAIN_CAN_POST",
"allowWebPosting": "true",
"primaryLanguage": "en",
"maxMessageBytes": 10240,
"isArchived": "true",
"archiveOnly": "false",
"messageModerationLevel": "MODERATE_NONE",
"spamModerationLevel": "ALLOW",
"replyTo": "REPLY_TO_IGNORE",
"customReplyTo": "sales@example.com",
"includeCustomFooter": "true",
"customFooterText": "This messages is from the Sales Group at example.com",
"sendMessageDenyNotification": "true",
"defaultMessageDenyNotificationText": "Your Message has been denied.",
"showInGroupDirectory": "false",
"allowGoogleCommunication": "false",
"membersCanPostAsTheGroup": "false",
"messageDisplayFont": "DEFAULT_FONT",
"includeInGlobalAddressList": "false",
"whoCanLeaveGroup": "ALL_MEMBERS_CAN_LEAVE",
"whoCanContactOwner": "ALL_IN_DOMAIN_CAN_CONTACT",
"whoCanAddReferences": "ALL_MEMBERS",
"whoCanAssignTopics": "NONE",
"whoCanUnassignTopic": "NONE",
"whoCanTakeTopics": "NONE",
"whoCanMarkDuplicate": "NONE",
"whoCanMarkNoResponseNeeded": "NONE",
"whoCanMarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanMarkFavoriteReplyOnOwnTopic": "NONE",
"whoCanUnmarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanEnterFreeFormTags": "NONE",
"whoCanModifyTagsAndCategories": "NONE",
"favoriteRepliesOnTop": "false",
"whoCanApproveMembers": "ALL_MANAGERS_CAN_APPROVE",
"whoCanBanUsers": "OWNERS_AND_MANAGERS",
"whoCanModifyMembers": "OWNERS_AND_MANAGERS",
"whoCanApproveMessages": "OWNERS_ONLY",
"whoCanDeleteAnyPost": "OWNERS_AND_MANAGERS",
"whoCanDeleteTopics": "OWNERS_AND_MANAGERS",
"whoCanLockTopics": "OWNERS_AND_MANAGERS",
"whoCanMoveTopicsIn": "NONE",
"whoCanMoveTopicsOut": "NONE",
"whoCanPostAnnouncements": "NONE",
"whoCanHideAbuse": "OWNERS_AND_MANAGERS",
"whoCanMakeTopicsSticky": "OWNERS_AND_MANAGERS",
"whoCanModerateMembers": "OWNERS_AND_MANAGERS",
"whoCanModerateContent": "OWNERS_ONLY",
"whoCanAssistContent": "ALL_MEMBERS",
"customRolesEnabledForSettingsToBeMerged": "false",
"enableCollaborativeInbox": "false",
"whoCanDiscoverGroup": "ALL_IN_DOMAIN_CAN_DISCOVER",
"defaultSender": "DEFAULT_SELF"
}
תשובה מוצלחת מחזירה קוד סטטוס של HTTP 200. בנוסף לקוד הסטטוס, התשובה מחזירה את הגדרות הקבוצה המעודכנות. מידע נוסף על ההגדרות האלה זמין בהפניה ל-API.
בדוגמה הבאה מוצגת תגובת ה-JSON:
{
"kind": "groupsSettings#groups",
"email": "salesgroup@example.com",
"name": "Sales Group",
"description": "This is the sales group",
"whoCanAdd": "ALL_MANAGERS_CAN_ADD",
"whoCanJoin": "INVITED_CAN_JOIN",
"whoCanViewMembership": "ALL_IN_DOMAIN_CAN_VIEW",
"whoCanViewGroup": "ALL_IN_DOMAIN_CAN_VIEW",
"whoCanInvite": "ALL_MANAGERS_CAN_INVITE",
"allowExternalMembers": "true",
"whoCanAddExternalMembers": "ONLY_ADMINS_CAN_ADD_EXTERNAL_MEMBERS",
"whoCanPostMessage": "ALL_IN_DOMAIN_CAN_POST",
"allowWebPosting": "true",
"primaryLanguage": "en",
"maxMessageBytes": 10240,
"isArchived": "true",
"archiveOnly": "false",
"messageModerationLevel": "MODERATE_NONE",
"spamModerationLevel": "ALLOW",
"replyTo": "REPLY_TO_IGNORE",
"customReplyTo": "sales@example.com",
"includeCustomFooter": "true",
"customFooterText": "This messages is from the Sales Group at example.com",
"sendMessageDenyNotification": "true",
"defaultMessageDenyNotificationText": "Your Message has been denied.",
"showInGroupDirectory": "false",
"allowGoogleCommunication": "false",
"membersCanPostAsTheGroup": "false",
"messageDisplayFont": "DEFAULT_FONT",
"includeInGlobalAddressList": "false",
"whoCanLeaveGroup": "ALL_MEMBERS_CAN_LEAVE",
"whoCanContactOwner": "ALL_IN_DOMAIN_CAN_CONTACT",
"whoCanAddReferences": "ALL_MEMBERS",
"whoCanAssignTopics": "NONE",
"whoCanUnassignTopic": "NONE",
"whoCanTakeTopics": "NONE",
"whoCanMarkDuplicate": "NONE",
"whoCanMarkNoResponseNeeded": "NONE",
"whoCanMarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanMarkFavoriteReplyOnOwnTopic": "NONE",
"whoCanUnmarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanEnterFreeFormTags": "NONE",
"whoCanModifyTagsAndCategories": "NONE",
"favoriteRepliesOnTop": "false",
"whoCanApproveMembers": "ALL_MANAGERS_CAN_APPROVE",
"whoCanBanUsers": "OWNERS_AND_MANAGERS",
"whoCanModifyMembers": "OWNERS_AND_MANAGERS",
"whoCanApproveMessages": "OWNERS_ONLY",
"whoCanDeleteAnyPost": "OWNERS_AND_MANAGERS",
"whoCanDeleteTopics": "OWNERS_AND_MANAGERS",
"whoCanLockTopics": "OWNERS_AND_MANAGERS",
"whoCanMoveTopicsIn": "NONE",
"whoCanMoveTopicsOut": "NONE",
"whoCanPostAnnouncements": "NONE",
"whoCanHideAbuse": "OWNERS_AND_MANAGERS",
"whoCanMakeTopicsSticky": "OWNERS_AND_MANAGERS",
"whoCanModerateMembers": "OWNERS_AND_MANAGERS",
"whoCanModerateContent": "OWNERS_ONLY",
"whoCanAssistContent": "ALL_MEMBERS",
"customRolesEnabledForSettingsToBeMerged": "false",
"enableCollaborativeInbox": "false",
"whoCanDiscoverGroup": "ALL_IN_DOMAIN_CAN_DISCOVER",
"defaultSender": "DEFAULT_SELF"
}
עדכון של חלק מההגדרות של קבוצה
אם רוצים לעדכן רק חלק מההגדרות האלה, צריך להשתמש בPATCHבקשת HTTP לעדכון חלקי.
PATCH https://www.googleapis.com/groups/v1/groups/GROUP_ID
אחזור ההגדרות של קבוצה
כדי לאחזר את ההגדרות של קבוצה, צריך לכלול את הכותרת Authorization בבקשת ה-HTTP GET הבאה:
GET https://www.googleapis.com/groups/v1/groups/groupUniqueId
בדוגמה הבאה מאחזרים את הגדרות הקבוצה salesgroup@example.com:
GET https://www.googleapis.com/groups/v1/groups/salesgroup@example.com
תשובה מוצלחת מחזירה קוד סטטוס של HTTP 200. בנוסף לקוד הסטטוס, התשובה מחזירה את ההגדרות של הקבוצה salesgroup@example.com. מידע נוסף על ההגדרות האלה זמין בהפניה ל-API.
בדוגמה הבאה מוצגת תגובת ה-JSON:
{
"kind": "groupsSettings#groups",
"email": "salesgroup@example.com",
"name": "Sales Group",
"description": "This is the sales group",
"whoCanAdd": "ALL_MANAGERS_CAN_ADD",
"whoCanJoin": "INVITED_CAN_JOIN",
"whoCanViewMembership": "ALL_IN_DOMAIN_CAN_VIEW",
"whoCanViewGroup": "ALL_IN_DOMAIN_CAN_VIEW",
"whoCanInvite": "ALL_MANAGERS_CAN_INVITE",
"allowExternalMembers": "true",
"whoCanAddExternalMembers": "ONLY_ADMINS_CAN_ADD_EXTERNAL_MEMBERS",
"whoCanPostMessage": "ALL_IN_DOMAIN_CAN_POST",
"allowWebPosting": "true",
"primaryLanguage": "en",
"maxMessageBytes": 10240,
"isArchived": "true",
"archiveOnly": "false",
"messageModerationLevel": "MODERATE_NONE",
"spamModerationLevel": "ALLOW",
"replyTo": "REPLY_TO_IGNORE",
"customReplyTo": "sales@example.com",
"includeCustomFooter": "true",
"customFooterText": "This messages is from the Sales Group at example.com",
"sendMessageDenyNotification": "true",
"defaultMessageDenyNotificationText": "Your Message has been denied.",
"showInGroupDirectory": "false",
"allowGoogleCommunication": "false",
"membersCanPostAsTheGroup": "false",
"messageDisplayFont": "DEFAULT_FONT",
"includeInGlobalAddressList": "false",
"whoCanLeaveGroup": "ALL_MEMBERS_CAN_LEAVE",
"whoCanContactOwner": "ALL_IN_DOMAIN_CAN_CONTACT",
"whoCanAddReferences": "ALL_MEMBERS",
"whoCanAssignTopics": "NONE",
"whoCanUnassignTopic": "NONE",
"whoCanTakeTopics": "NONE",
"whoCanMarkDuplicate": "NONE",
"whoCanMarkNoResponseNeeded": "NONE",
"whoCanMarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanMarkFavoriteReplyOnOwnTopic": "NONE",
"whoCanUnmarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanEnterFreeFormTags": "NONE",
"whoCanModifyTagsAndCategories": "NONE",
"favoriteRepliesOnTop": "false",
"whoCanApproveMembers": "ALL_MANAGERS_CAN_APPROVE",
"whoCanBanUsers": "OWNERS_AND_MANAGERS",
"whoCanModifyMembers": "OWNERS_AND_MANAGERS",
"whoCanApproveMessages": "OWNERS_ONLY",
"whoCanDeleteAnyPost": "OWNERS_AND_MANAGERS",
"whoCanDeleteTopics": "OWNERS_AND_MANAGERS",
"whoCanLockTopics": "OWNERS_AND_MANAGERS",
"whoCanMoveTopicsIn": "NONE",
"whoCanMoveTopicsOut": "NONE",
"whoCanPostAnnouncements": "NONE",
"whoCanHideAbuse": "OWNERS_AND_MANAGERS",
"whoCanMakeTopicsSticky": "OWNERS_AND_MANAGERS",
"whoCanModerateMembers": "OWNERS_AND_MANAGERS",
"whoCanModerateContent": "OWNERS_ONLY",
"whoCanAssistContent": "ALL_MEMBERS",
"customRolesEnabledForSettingsToBeMerged": "false",
"enableCollaborativeInbox": "false",
"whoCanDiscoverGroup": "ALL_IN_DOMAIN_CAN_DISCOVER",
"defaultSender": "DEFAULT_SELF"
}