收藏 分销(赏)

Sharepoint学习笔记—ECMAScript对象模型系列.doc

上传人:xrp****65 文档编号:7660691 上传时间:2025-01-11 格式:DOC 页数:10 大小:83KB 下载积分:10 金币
下载 相关 举报
Sharepoint学习笔记—ECMAScript对象模型系列.doc_第1页
第1页 / 共10页
Sharepoint学习笔记—ECMAScript对象模型系列.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
Sharepoint学习笔记—ECMAScript对象模型系列-- 8、组与用户操作(一)       这里总结一下关于使用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(this, this.onQuerySucceededretrieveSpecificUserProperties),          Function.createDelegate(this, this.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(this, this.onQuerySucceededretrieveAllUsersAllGroupsSpecificProperties),                                         Function.createDelegate(this, this.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());     } Sharepoint学习笔记—ECMAScript对象模型系列-- 9、组与用户操作(二)    接着上面的继续,这里我们描述的关于User与Group的操作如下:      6、 向指定Group中添加指定User      7、 获取指定Group的Owner      8、 把当前登录用户添加到指定Group中      9、 判断当前登录用户是否有EditPermission权限     10、判断当前登录用户是否在某特定的Group中    分别描述如下:      6、 向指定Group中添加指定User    var siteUrl = '/';     function addUserToSharePointGroup(groupID) {         //var clientContext = new SP.ClientContext(siteUrl);         var clientContext = new SP.ClientContext.get_current();         var collGroup = clientContext.get_web().get_siteGroups();         var oGroup = collGroup.getById(groupID);         var userCreationInfo = new SP.UserCreationInformation();         userCreationInfo.set_email('helpdesk@GLSTAR.COM.AU);         userCreationInfo.set_loginName('GLSTAR\\helpdesk');         userCreationInfo.set_title('helpdesk');         this.oUser = oGroup.get_users().add(userCreationInfo);  //add user into group //        var userInfo = '\nUser: ' + oUser.get_title() + //            '\nEmail: ' + oUser.get_email() + //            '\nLogin Name: ' + oUser.get_loginName(); //        alert(userInfo);         clientContext.load(oUser);         clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceededaddUserToSharePointGroup),         Function.createDelegate(this, this.onQueryFailedaddUserToSharePointGroup));     }     function onQuerySucceededaddUserToSharePointGroup() {         alert(this.oUser.get_title() + " added.");     }     function onQueryFailedaddUserToSharePointGroup(sender, args) {         alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());     }     7、 获取指定Group的Owner  //Get The Group Owner Name in SharePoint 2010 Using ECMAScript     var group;     function getGroupOwnerName(groupID) {         var clientContext = new SP.ClientContext();         var groupCollection = clientContext.get_web().get_siteGroups();         group = groupCollection.getById(groupID);         clientContext.load(group);         clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceededgetGroupOwnerName),                                         Function.createDelegate(this, this.onQueryFailedgetGroupOwnerName));     }     function onQuerySucceededgetGroupOwnerName() {         alert("GroupTitle:  " + group.get_title() + "\nGroupOwnerTitle : " + group.get_ownerTitle());     }     function onQueryFailedgetGroupOwnerName(sender, args) {         alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());     }      8、 把当前登录用户添加到指定Group中  //adds the current user to the specific group on the current website     var currentUser;     var visitorsGroup;     function addUserToSpecificGroupInCurrWeb(groupID) {         var clientContext = new SP.ClientContext();         var groupCollection = clientContext.get_web().get_siteGroups();         visitorsGroup = groupCollection.getById(groupID);         currentUser = clientContext.get_web().get_currentUser();         var userCollection = visitorsGroup.get_users();         userCollection.addUser(currentUser);         clientContext.load(currentUser);         clientContext.load(visitorsGroup);         clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceededaddUserToSpecificGroup),         Function.createDelegate(this, this.onQueryFailedaddUserToSpecificGroup));     }     function onQuerySucceededaddUserToSpecificGroup() {         alert(currentUser.get_title() + " added to group " + visitorsGroup.get_title());     }     function onQueryFailedaddUserToSpecificGroup(sender, args) {         alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());     }      9、 判断当前登录用户是否有EditPermission权限   //Check current user has Edit Permission     var theCurrentUser;     var theWeb;     function checkifUserHasEditPermissions() {        // debugger;         var context = new SP.ClientContext.get_current();         theWeb = context.get_web();         theCurrentUser = theWeb.get_currentUser();         context.load(theCurrentUser);         context.load(theWeb, 'EffectiveBasePermissions');         context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethodcheckEditPermissions),                                   Function.createDelegate(this, this.onFailureMethodcheckEditPermissions));     }     function onSuccessMethodcheckEditPermissions() {         //debugger;         if (theWeb.get_effectiveBasePermissions().has(SP.PermissionKind.editListItems)) {             //User Has Edit Permissions             alert(theCurrentUser.get_loginName()+"Has Edit Permission on current website");         }         else {             alert("No Edit Permission");         }     }     function onFailureMethodcheckEditPermissions() {         alert("Failed to check permission");     }     10、判断当前登录用户是否在某特定的Group中       var IsInThisGroupFlag = false;     // The below checks if the user exists in the group     function checkIfCurrentUserIsInGroup(groupID) {         var context = SP.ClientContext.get_current();         //I go to parent site if I'm in a subsite!         var siteColl = context.get_site();         var web = siteColl.get_rootWeb();         var groupCollection = web.get_siteGroups();         // Get the Our Group's ID         var _group = groupCollection.getById(groupID); // ID of the Group that we are checking         var users = _group.get_users(); // Get all Users of the group         context.load(_group);         context.load(users);         this._users = users;         this._currentUser = web.get_currentUser(); // Get current user         context.load(this._currentUser);         context.executeQueryAsync(Function.createDelegate(this, this.CheckUserSucceededUserIsInGroup),         Function.createDelegate(this, this.CheckUserfailedUserIsInGroup));     }     //The below Checks  if User is the member of the specified group     function CheckUserSucceededUserIsInGroup() {         //debugger;         IsInThisGroupFlag = false;         if (this._users.get_count() > 0) {             var _usersEnum = this._users.getEnumerator();             while (_usersEnum.moveNext()) {                 var user = _usersEnum.get_current();                 if (user.get_loginName() == this._currentUser.get_loginName()) {                     //debugger;                     IsInThisGroupFlag = true;                 }                 if (IsInThisGroupFlag) {                     alert(user.get_loginName() + "  exist in the checked group " + IsInThisGroupFlag.toString());                 }                 else {                     alert(user.get_loginName() + "  not exist in the checked group ");                 }             }         }     }     function CheckUserfailedUserIsInGroup() {             alert('failed');         }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服