As Vadim Gremyachev pointed out here , you can get the current user var currentUser = currentContext.get_web().get_currentUser() , then get all groups var allGroups = currentWeb.get_siteGroups();
Here you can scroll through the group to see if your user is in the current group. Therefore, if you have a list of groups that you want to check, members, owners, viewers, simply use this method to determine if they are in each group.
function IsCurrentUserMemberOfGroup(groupName, OnComplete) { var currentContext = new SP.ClientContext.get_current(); var currentWeb = currentContext.get_web(); var currentUser = currentContext.get_web().get_currentUser(); currentContext.load(currentUser); var allGroups = currentWeb.get_siteGroups(); currentContext.load(allGroups); var group = allGroups.getByName(groupName); currentContext.load(group); var groupUsers = group.get_users(); currentContext.load(groupUsers); currentContext.executeQueryAsync(OnSuccess,OnFailure); function OnSuccess(sender, args) { var userInGroup = false; var groupUserEnumerator = groupUsers.getEnumerator(); while (groupUserEnumerator.moveNext()) { var groupUser = groupUserEnumerator.get_current(); if (groupUser.get_id() == currentUser.get_id()) { userInGroup = true; break; } } OnComplete(userInGroup); } function OnFailure(sender, args) { OnComplete(false); } }
source share