博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sharepoint学习笔记—ECMAScript对象模型系列-- 8、组与用户操作(一)
阅读量:6980 次
发布时间:2019-06-27

本文共 5976 字,大约阅读时间需要 19 分钟。

      这里总结一下关于使用ECMAscript对象模型来操作Goup与User的常用情况,因为内容较多,所以拆分为两个部分,这部分主要内容如下:

     1、取得当前Sharepoint网站所有的Group
     2、获取当前登录用户的Title与所属Group
     3、获取指定Group下的所有Users
     4、获取指定Group下的所有Users的特定信息
     5、获取所有的Group的所有Users的特定信息

    分别描述如下:

     1、取得当前Sharepoint网站所有的Group 

  
//
Get All The Site Groups in SharePoint Using ECMAScript
    
var groupCollection;
    
function getAllSiteGroups() {
        
var clientContext = 
new SP.ClientContext();
        
this.groupCollection = clientContext.get_web().get_siteGroups();
        clientContext.load(groupCollection);
        clientContext.executeQueryAsync(Function.createDelegate(
this
this.onQuerySucceededgetAllSiteGroups),
        Function.createDelegate(
this
this.onQueryFailedgetAllSiteGroups));
    }
    
function onQuerySucceededgetAllSiteGroups() {
        
var groupName = 'Site Groups: \n';
        
var groupsEnumerator = 
this.groupCollection.getEnumerator();
        
while (groupsEnumerator.moveNext()) {
            
var group = groupsEnumerator.get_current();
            groupName += 'Title :' + group.get_title() + 'ID :' + group.get_id() + '\n';
        }
        alert(groupName);
    }
    
function onQueryFailedgetAllSiteGroups(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }

     2、获取当前登录用户的Title与所属Group

  
//
retrieve curent loggedin user and the usres GROUP 
    
var user;
    
var visitorsGroup;
    
function retrieveCurrLgUserAndGrp() {
        
var clientContext = 
new SP.ClientContext();
        
var groupCollection = clientContext.get_web().get_siteGroups();
        
//
 Get the visitors group, assuming its ID is 4.
        visitorsGroup = groupCollection.getById(4);
        user = clientContext.get_web().get_currentUser();
        
var userCollection = visitorsGroup.get_users();
        userCollection.addUser(user);
        clientContext.load(user);
        clientContext.load(visitorsGroup);
        clientContext.executeQueryAsync(Function.createDelegate(
this
this.onQuerySucceededretrieveCurrLgUserAndGrp),
        Function.createDelegate(
this
this.onQueryFailedretrieveCurrLgUserAndGrp));
    }
    
function onQuerySucceededretrieveCurrLgUserAndGrp() {
        alert(user.get_title() + " added to group " + visitorsGroup.get_title());
    }
    
function onQueryFailedretrieveCurrLgUserAndGrp(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    } 

     3、获取指定Group下的所有Users

 
var siteUrlretrieveAllUsersInGroup = '/';
    
function retrieveAllUsersInGroup(groupID) {
        
//
 debugger;
        
var clientContext = 
new SP.ClientContext.get_current();
        
//
var clientContext = new SP.ClientContext(siteUrlretrieveAllUsersInGroup);
        
var collGroup = clientContext.get_web().get_siteGroups();
        
var oGroup = collGroup.getById(groupID);  
//
Specify which group you want to retrieve
        
//
 var oGroup = collGroup.getByTitle('DevpTest Visitor');
        
this.collUser = oGroup.get_users();
        clientContext.load(collUser);
        clientContext.executeQueryAsync(Function.createDelegate(
this
this.onQuerySucceededretrieveAllUsersInGroup),
        Function.createDelegate(
this
this.onQueryFailedretrieveAllUsersInGroup));
    }
    
function onQuerySucceededretrieveAllUsersInGroup() {
        
//
 debugger;
        
var userInfo = '';
        
var userEnumerator = collUser.getEnumerator();
        
while (userEnumerator.moveNext()) {
            
var oUser = userEnumerator.get_current();
            userInfo = userInfo + '\nUser Title: ' + oUser.get_title() +
            '\nID: ' + oUser.get_id() +
            '\nEmail: ' + oUser.get_email() +
            '\nLogin Name: ' + oUser.get_loginName();
        }
        alert(userInfo);
    }
    
function onQueryFailedretrieveAllUsersInGroup(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }

     4、获取指定Group下的所有Users的特定信息

 //Get User Specific Informations
    var siteUrlSpecificUserProperties = '/';
    function retrieveSpecificUserProperties(groupID) {
        //var clientContext = new SP.ClientContext(siteUrlSpecificUserProperties);
        var clientContext = new SP.ClientContext.get_current();
        var collGroup = clientContext.get_web().get_siteGroups();
        var oGroup = collGroup.getById(groupID);
        this.collUser = oGroup.get_users();
        clientContext.load(collUser, 'Include(Title, LoginName, Email)');
        clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededretrieveSpecificUserProperties),
         Function.createDelegate(thisthis.onQueryFailedretrieveSpecificUserProperties));
    }
    function onQuerySucceededretrieveSpecificUserProperties() {
        var userInfo = '';
        var userEnumerator = collUser.getEnumerator();
        while (userEnumerator.moveNext()) {
            var oUser = userEnumerator.get_current();
            userInfo += '\nUser: ' + oUser.get_title() +
            '\nEmail: ' + oUser.get_email() +
            '\nLogin Name: ' + oUser.get_loginName();
        }
        alert(userInfo);
    }
    function onQueryFailedretrieveSpecificUserProperties(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }

     5、获取所有的Group的所有Users的特定信息

 //Retrieve all groups all users specific informations
    var siteUrlAllUsersAllGroupsSpecificProperties = '/';
    function retrieveAllUsersAllGroupsSpecificProperties() {
        //var clientContext = new SP.ClientContext(siteUrlAllUsersAllGroupsSpecificProperties);
        var clientContext = new SP.ClientContext.get_current();
        this.collGroup = clientContext.get_web().get_siteGroups();
        clientContext.load(collGroup, 'Include(Title,Id,Users.Include(Title,LoginName))');
        clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededretrieveAllUsersAllGroupsSpecificProperties),
                                        Function.createDelegate(thisthis.onQueryFailedretrieveAllUsersAllGroupsSpecificProperties));
    }
    function onQuerySucceededretrieveAllUsersAllGroupsSpecificProperties() {
        var userInfo = '';
        var groupEnumerator = collGroup.getEnumerator();
        while (groupEnumerator.moveNext()) {
            var oGroup = groupEnumerator.get_current();
            var collUser = oGroup.get_users();
            var userEnumerator = collUser.getEnumerator();
            while (userEnumerator.moveNext()) {
                var oUser = userEnumerator.get_current();
                userInfo += '\nGroup ID: ' + oGroup.get_id() +
                '\nGroup Title: ' + oGroup.get_title() +
                '\nUser: ' + oUser.get_title() +
                '\nLogin Name: ' + oUser.get_loginName();
            }
        }
        alert(userInfo);
    }
    function onQueryFailedretrieveAllUsersAllGroupsSpecificProperties(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }

 

 

 

 

 

转载地址:http://cxjpl.baihongyu.com/

你可能感兴趣的文章
Linux下grep显示前后几行信息
查看>>
【转】外企高管们的“中年危机”
查看>>
HeapAlloc 和 GlobalAlloc 以及 VirtualAlloc 三者之间的关系(转)
查看>>
Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记
查看>>
Mac Apache Tomcat 配置
查看>>
如何在net中实现动态执行代码(js的eval)的功能?
查看>>
Android 中.aar文件生成方法与用法
查看>>
Vue路由history模式踩坑记录:nginx配置解决404问题
查看>>
Pyhthon爬虫其之验证码识别
查看>>
Joiner的用法
查看>>
统帅的AB面:砥砺5年重新定义中国制造
查看>>
2017手机市场半年报来袭 华为14.44%用户关注比例领跑第一阵营
查看>>
金立S10为何选择薛之谦代言?因为薛之谦一人盖过半个娱乐圈
查看>>
真假路由“易混淆” 斐讯K系列“做典范”
查看>>
华米科技Amazfit智能手表荣获2019年iF设计大奖
查看>>
点亮吉祥猪 南京城南张灯结彩迎春节
查看>>
上海张江人工智能岛“开岛” IBM首家入驻
查看>>
2019年如何确保国企效益增长?国资委明确这六项措施
查看>>
Python爬虫工作好做吗?爬虫工作发展前景如何呢?
查看>>
从程序员客栈的优秀成功案例,我们想告诉创业者什么信息?
查看>>