从SharePoint JavaScript获取“除外部用户以外的所有人”组中的名称列表

问题描述 投票:0回答:2

我正在尝试使用JavaScript设置具有“Everyone Except External Users”的特定组的所有人填充SharePoint列表。问题是我不知道如何获得该组中包含的每个人的名字。我目前通过使用... currentContext.get_web()。get_siteUsers()来绕过这一点,以获得每个人都可以访问网站,但这也是让那些不应该被包含在列表中的人。

如何使用JavaScript获取“Everyone Except External Users”设置的组名称列表?

javascript sharepoint-online
2个回答
0
投票

您可以使用clientContext.get_web().get_siteGroups()获取站点组,然后按ID过滤您的组以获取该组中的所有用户。查看this link了解详情。

function retrieveAllUsersInGroup() {

    var clientContext = new SP.ClientContext(siteUrl);
    var collGroup = clientContext.get_web().get_siteGroups();
    var oGroup = collGroup.getById(7);
    this.collUser = oGroup.get_users();
    clientContext.load(collUser);


    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}

function onQuerySucceeded() {

    var userInfo = '';

    var userEnumerator = collUser.getEnumerator();
    while (userEnumerator.moveNext()) {
        var oUser = userEnumerator.get_current();
        this.userInfo += '\nUser: ' + oUser.get_title() + 
            '\nID: ' + oUser.get_id() + 
            '\nEmail: ' + oUser.get_email() + 
            '\nLogin Name: ' + oUser.get_loginName();
    }

    alert(userInfo);
}

function onQueryFailed(sender, args) {

    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

0
投票

你见过这个帖子吗? MSDN Social post - REST API to get membership of Everyone except external users它有点陈旧但是很好地描述了REST调用:你可以使用它来获取所有组成员,然后按照原始海报的建议迭代你的RoleAssigments并查看两个列表中的名称。

© www.soinside.com 2019 - 2024. All rights reserved.