SP 2013 通过 API 不授予权限将用户添加到 SP 组
SP 2013 adding users to SP group through API not giving permissions
我正在使用 SharePoint 2013 API 将用户添加到群组 'Site eigenaren',这意味着他们将获得对网站的完全控制权。
调用API后,在SP组的UI中可见,但没有获得该组的权限
当我通过 UI 从组中删除他们并使用 UI 再次添加他们时,他们获得了权限。
通过 API 添加用户时是否还有其他必须完成的事情?
我添加用户的代码:
function addUserToGroup(contextWebInfo, groupName, username) {
console.log('Adding ' + username + ' to group ' + groupName);
return fetch(currentSiteUrl + "/_api/web/sitegroups/getbyname('" + groupName + "')/users", {
headers: new Headers({
Accept: 'application/json;odata=verbose',
'Content-Type': 'application/json;odata=verbose',
'X-RequestDigest': contextWebInfo.d.GetContextWebInformation.FormDigestValue
}),
credentials: 'include',
method: 'POST',
body: JSON.stringify({ '__metadata': { 'type': 'SP.User' }, 'LoginName': 'BIJTJES\' + username })
}).then(function (response) {
if(response.ok){
console.log('User ' + username + ' added to group ' + groupName);
}else{
alert('Er is een fout opgetreden. Gelieve een melding op de SelfServiceDesk aan te maken met volgende tekst: Op site "' + currentSiteUrl + '" komt de foutmelding "' + response.error.message.value + '" bij het toevoegen van een lid aan de groep "' + groupName + '" als gebruiker "' + username + '"');
}
}).catch(function (error) { console.error('Error getting data:::', error); });
}
我可以确认这个问题,我可以确认这也是使用 JSOM
而不是 REST
时的问题。
原来问题出在 SharePoint 使用声明时。这意味着,如果您向 REST api 提供用户登录 ID (domain\user),它就会执行此操作。
但是,如果您将“i:0#.w|
”添加到用户 ID ("i:0#.w|domain\user")
,则一切正常。
我正在使用 SharePoint 2013 API 将用户添加到群组 'Site eigenaren',这意味着他们将获得对网站的完全控制权。 调用API后,在SP组的UI中可见,但没有获得该组的权限
当我通过 UI 从组中删除他们并使用 UI 再次添加他们时,他们获得了权限。 通过 API 添加用户时是否还有其他必须完成的事情?
我添加用户的代码:
function addUserToGroup(contextWebInfo, groupName, username) {
console.log('Adding ' + username + ' to group ' + groupName);
return fetch(currentSiteUrl + "/_api/web/sitegroups/getbyname('" + groupName + "')/users", {
headers: new Headers({
Accept: 'application/json;odata=verbose',
'Content-Type': 'application/json;odata=verbose',
'X-RequestDigest': contextWebInfo.d.GetContextWebInformation.FormDigestValue
}),
credentials: 'include',
method: 'POST',
body: JSON.stringify({ '__metadata': { 'type': 'SP.User' }, 'LoginName': 'BIJTJES\' + username })
}).then(function (response) {
if(response.ok){
console.log('User ' + username + ' added to group ' + groupName);
}else{
alert('Er is een fout opgetreden. Gelieve een melding op de SelfServiceDesk aan te maken met volgende tekst: Op site "' + currentSiteUrl + '" komt de foutmelding "' + response.error.message.value + '" bij het toevoegen van een lid aan de groep "' + groupName + '" als gebruiker "' + username + '"');
}
}).catch(function (error) { console.error('Error getting data:::', error); });
}
我可以确认这个问题,我可以确认这也是使用 JSOM
而不是 REST
时的问题。
原来问题出在 SharePoint 使用声明时。这意味着,如果您向 REST api 提供用户登录 ID (domain\user),它就会执行此操作。
但是,如果您将“i:0#.w|
”添加到用户 ID ("i:0#.w|domain\user")
,则一切正常。