SP 2013 добавление пользователей в группу SP через API без предоставления разрешений - PullRequest
0 голосов
/ 28 сентября 2018

Я использую API SharePoint 2013 для добавления пользователей в группу «Site eigenaren», что означает, что они получат полный контроль над сайтом.После вызова API они отображаются в пользовательском интерфейсе в группе SP, но они не получают разрешения для группы.

Когда я удаляю их через пользовательский интерфейс из группы и снова добавляю их, используя командуПользовательский интерфейс, они получают разрешения.Что еще нужно сделать при добавлении пользователя через 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); });
    }

1 Ответ

0 голосов
/ 19 ноября 2018

Я могу подтвердить эту проблему, и я могу подтвердить, что это также проблема при использовании JSOM вместо REST.Оказывается, проблема в том, что в SharePoint используются заявки.Это означает, что если вы дадите REST api идентификатор пользователя (домен \ пользователь), это будет сделано именно так.Но если вы добавите «i:0#.w|» к идентификатору пользователя ("i:0#.w|domain\user"), все будет работать.

...