I have created one group using csom javascript upto here working fine . I want to how to add users to particular group using csom javascript.Any ideas?
2 Answers
Straight from MSDN (https://msdn.microsoft.com/en-us/library/office/hh185012(v=office.14).aspx)
var siteUrl = '/sites/MySiteCollection ';
function addUserToSharePointGroup() {
var clientContext = new SP.ClientContext(siteUrl);
var collGroup = clientContext.get_web().get_siteGroups();
var oGroup = collGroup.getById(7);
var userCreationInfo = new SP.UserCreationInformation();
userCreationInfo.set_email('[email protected]');
userCreationInfo.set_loginName('DOMAIN\alias');
userCreationInfo.set_title('John');
this.oUser = oGroup.get_users().add(userCreationInfo);
clientContext.load(oUser);
clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded() {
alert(this.oUser.get_title() + " added.");
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n'+args.get_stackTrace());
}
Even though Marius's answer is correct, I find this a bit more clean. It takes an array of user names and a group name. Works for any number of users.
function addUsersToGroup (usernames, groupName) {
//Get the web
var clientContext = SP.ClientContext.get_current();
var web = clientContext.get_web();
//Get the group from the web
var group = web.get_siteGroups().getByName(groupName);
for (var i = usernames.length - 1; i >= 0; i--) {
//Use 'ensureUser()' to get an SP_User object
group.get_users().addUser(web.ensureUser(usernames[i]));
};
group.update();
//Load the group to the client context and execute
clientContext.load(group);
clientContext.executeQueryAsync(onSuccess, onFail);
}
And call it with
var users = ["Peter Griffin", "Stewie Griffin"];
var group = "Family guy cast";
addUsersToGroup(users, group);
-
1The function is incomplete, you forget to get the correct group (groupName parameter is unused). Also, you're trying to add the user to the an SPGroupCollection. var group = web.get_siteGroups().getByName(groupName);JayHell– JayHell2015-10-06 11:52:41 +00:00Commented Oct 6, 2015 at 11:52
-
True! I erased a bit too much when I copied it from my source! Thanks!Daniel B– Daniel B2015-10-06 12:31:40 +00:00Commented Oct 6, 2015 at 12:31