A-A+

ECMAScript对象模型之组与用户操作教程

2016年01月14日 前端设计 暂无评论 阅读 5 views 次

本文章介绍了关于ECMAScript对象模型之组与用户操作,有需要了解的同学可以参考一下下,这里总结一下关于使用ECMAscript对象模型来操作Goup与User的常用情况,因为内容较多,所以拆分为两个部分,这部分主要内容如下:

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

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

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

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

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

分别描述如下:

1、取得当前Sharepoint网站所有的Group,代码如下:

  1. //Get All The Site Groups in SharePoint Using ECMAScript  
  2.     var groupCollection;  
  3.     function getAllSiteGroups() {  
  4.         var clientContext = new SP.ClientContext();  
  5.         this.groupCollection = clientContext.get_web().get_siteGroups();  
  6.         clientContext.load(groupCollection);  
  7.         clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededgetAllSiteGroups),  
  8.         Function.createDelegate(thisthis.onQueryFailedgetAllSiteGroups));  
  9.     }  
  10.     function onQuerySucceededgetAllSiteGroups() {  
  11.         var groupName = 'Site Groups: n';  
  12.         var groupsEnumerator = this.groupCollection.getEnumerator();  
  13.         while (groupsEnumerator.moveNext()) {  
  14.             var group = groupsEnumerator.get_current();  
  15.             groupName += 'Title :' + group.get_title() + 'ID :' + group.get_id() + 'n';  
  16.         }  
  17.         alert(groupName);  
  18.     }  
  19.     function onQueryFailedgetAllSiteGroups(sender, args) {  
  20.         alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());  
  21.     }  

2、获取当前登录用户的Title与所属Group,代码如下:

  1. //retrieve curent loggedin user and the usres GROUP   
  2.     var user;  
  3.     var visitorsGroup;  
  4.     function retrieveCurrLgUserAndGrp() {  
  5.         var clientContext = new SP.ClientContext();  
  6.         var groupCollection = clientContext.get_web().get_siteGroups();  
  7.         // Get the visitors group, assuming its ID is 4.  
  8.         visitorsGroup = groupCollection.getById(4);  
  9.         user = clientContext.get_web().get_currentUser();  
  10.         var userCollection = visitorsGroup.get_users();  
  11.         userCollection.addUser(user);  
  12.         clientContext.load(user);  
  13.         clientContext.load(visitorsGroup);  
  14.         clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededretrieveCurrLgUserAndGrp),  
  15.         Function.createDelegate(thisthis.onQueryFailedretrieveCurrLgUserAndGrp));  
  16.     }  
  17.     function onQuerySucceededretrieveCurrLgUserAndGrp() {  
  18.         alert(user.get_title() + " added to group " + visitorsGroup.get_title());  
  19.     }  
  20.     function onQueryFailedretrieveCurrLgUserAndGrp(sender, args) {  
  21.         alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());  
  22.     }  

3、获取指定Group下的所有Users,代码如下:

  1. var siteUrlretrieveAllUsersInGroup = '/';  
  2.     function retrieveAllUsersInGroup(groupID) {  
  3.         // debugger;  
  4.         var clientContext = new SP.ClientContext.get_current();  
  5.         //var clientContext = new SP.ClientContext(siteUrlretrieveAllUsersInGroup);  
  6.         var collGroup = clientContext.get_web().get_siteGroups();  
  7.         var oGroup = collGroup.getById(groupID);  //Specify which group you want to retrieve  
  8.         // var oGroup = collGroup.getByTitle('DevpTest Visitor');  
  9.         this.collUser = oGroup.get_users();  
  10.         clientContext.load(collUser);  
  11.         clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededretrieveAllUsersInGroup),  
  12.         Function.createDelegate(thisthis.onQueryFailedretrieveAllUsersInGroup));  
  13.     }  
  14.     function onQuerySucceededretrieveAllUsersInGroup() {  
  15.         // debugger;  
  16.         var userInfo = '';  
  17.         var userEnumerator = collUser.getEnumerator();  
  18.         while (userEnumerator.moveNext()) {  
  19.             var oUser = userEnumerator.get_current();  
  20.             userInfo = userInfo + 'nUser Title: ' + oUser.get_title() +  
  21.             'nID: ' + oUser.get_id() +  
  22.             'nEmail: ' + oUser.get_email() +  
  23.             'nLogin Name: ' + oUser.get_loginName();  
  24.         }  
  25.         alert(userInfo);  
  26.     }  
  27.     function onQueryFailedretrieveAllUsersInGroup(sender, args) {  
  28.         alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());  
  29.     }  

4、获取指定Group下的所有Users的特定信息,代码如下:

  1. //Get User Specific Informations  
  2.     var siteUrlSpecificUserProperties = '/';  
  3.     function retrieveSpecificUserProperties(groupID) {  
  4.         //var clientContext = new SP.ClientContext(siteUrlSpecificUserProperties);  
  5.         var clientContext = new SP.ClientContext.get_current();  
  6.         var collGroup = clientContext.get_web().get_siteGroups();  
  7.         var oGroup = collGroup.getById(groupID);  
  8.         this.collUser = oGroup.get_users();  
  9.         clientContext.load(collUser, 'Include(Title, LoginName, Email)');  
  10.   
  11.         clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededretrieveSpecificUserProperties),  
  12.          Function.createDelegate(thisthis.onQueryFailedretrieveSpecificUserProperties));  
  13.     }  
  14.     function onQuerySucceededretrieveSpecificUserProperties() {  
  15.         var userInfo = '';  
  16.         var userEnumerator = collUser.getEnumerator();  
  17.         while (userEnumerator.moveNext()) {  
  18.             var oUser = userEnumerator.get_current();  
  19.             userInfo += 'nUser: ' + oUser.get_title() +  
  20.             'nEmail: ' + oUser.get_email() +  
  21.             'nLogin Name: ' + oUser.get_loginName();  
  22.         }  
  23.         alert(userInfo);  
  24.     }  
  25.     function onQueryFailedretrieveSpecificUserProperties(sender, args) {  
  26.         alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());  
  27.     }  

5、获取所有的Group的所有Users的特定信息,代码如下:

  1. //Retrieve all groups all users specific informations  
  2.     var siteUrlAllUsersAllGroupsSpecificProperties = '/';  
  3.     function retrieveAllUsersAllGroupsSpecificProperties() {  
  4.         //var clientContext = new SP.ClientContext(siteUrlAllUsersAllGroupsSpecificProperties);  
  5.         var clientContext = new SP.ClientContext.get_current();  
  6.         this.collGroup = clientContext.get_web().get_siteGroups();  
  7.         clientContext.load(collGroup, 'Include(Title,Id,Users.Include(Title,LoginName))');  
  8.         clientContext.executeQueryAsync(Function.createDelegate(thisthis.onQuerySucceededretrieveAllUsersAllGroupsSpecificProperties),  
  9.                                         Function.createDelegate(thisthis.onQueryFailedretrieveAllUsersAllGroupsSpecificProperties));  
  10.     }  
  11.     function onQuerySucceededretrieveAllUsersAllGroupsSpecificProperties() {  
  12.         var userInfo = '';  
  13.         var groupEnumerator = collGroup.getEnumerator();  
  14.         while (groupEnumerator.moveNext()) {  
  15.             var oGroup = groupEnumerator.get_current();  
  16.             var collUser = oGroup.get_users();  
  17.             var userEnumerator = collUser.getEnumerator();  
  18.             while (userEnumerator.moveNext()) {  
  19.                 var oUser = userEnumerator.get_current();  
  20.                 userInfo += 'nGroup ID: ' + oGroup.get_id() +  
  21.                 'nGroup Title: ' + oGroup.get_title() +  
  22.                 'nUser: ' + oUser.get_title() +  
  23.                 'nLogin Name: ' + oUser.get_loginName();  
  24.             }  
  25.         }  
  26.         alert(userInfo);  
  27.     }  
  28.     function onQueryFailedretrieveAllUsersAllGroupsSpecificProperties(sender, args) {  
  29.         alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());  
  30.     }  
标签:

给我留言