从 SharePoint JavaScript 上的"Everyone Except External Users"组获取名称列表



我正在尝试使用某个组的所有人填充SharePoint列表,该组使用JavaScript设置了"除外部用户之外的所有人"。问题是我不知道如何获得该组中每个人的名字。我目前通过使用...currentContext.get_web((.get_siteUsers(( 让每个人都可以访问网站,但这也获得了不应该包含在列表中的人。

如何使用 JavaScript 获取具有"除外部用户之外的所有人"设置的组的名称列表?

您可以使用clientContext.get_web().get_siteGroups()获取网站用户组,然后按 id 筛选组以获取该组中的所有用户。有关详细信息,请查看此链接。

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());
}

你见过这个线程吗?MSDN 社交帖子 - 用于获取除外部用户之外的所有人的成员资格的 REST API 它有点旧,但很好地描述了 REST 调用:您可以使用它来获取所有组成员,然后按照原始海报的建议遍历您的 RoleAssigments,并查看两个列表中都有哪些名称。

最新更新