public pagereference addMembersInGroup()
{
public Map<String,String> options = new Map<String,String>();
public Map<String,Id> groupsNmembers = new Map<String,Id>();
try{
ConnectApi.ChatterGroupPage groupPage = ConnectApi.ChatterGroups.getGroups(communityId);
for (ConnectApi.ChatterGroupDetail grp : groupPage.groups) {
options.put(grp.Name,String.valueOf(grp.myRole));
groupsNmembers.put(grp.Name,grp.Id);
}
}catch(Exception ex){}
ID userId = UserInfo.getUserId();
if(options.get(ChatterGroupName) == ‘NotAMember’)
{
// Add member
CollaborationGroupMember groupMember = new CollaborationGroupMember();
groupMember.memberid = userId; //id of User you wish to add
groupMember.CollaborationGroupId = chatterGroupId;
insert groupMember;
}
if(options.get(ChatterGroupName)==’StandardMember’)
{
// Remove member
CollaborationGroupMember groupMemberDel = [select Id, MemberId from CollaborationGroupMember where CollaborationGroupId =: chatterGroupId AND MemberId =: UserInfo.getUserId() limit 1];
delete groupMemberDel;
}
}
————————————————
Where communityId => Use either the ID for a community, internal, or null.
chatterGroupId => ID of the associated CollaborationGroup.