2016-04-14 119 views
0

我试图根据使用SharePoint Rest API的组名称获取SharePoint用户组权限(例如:Read,Contribute)。我的目标是根据权限级别获取组的权限级别并禁用我们的自定义应用中的功能。我已经尝试了下面的URL来获取组属性,但无法获得组的权限级别。任何人都可以请指导我如何获得用户组权限。基于组名称获取SharePoint组权限级别名称使用SharePoint Rest API

选项尝试:

URL = http://Servename/Site/api/web/SiteGroups/getByName( '组名')

回答

0

下面的信息返回用户组权限级别冠军和休息的功能:

function init() {  
    clientContext = new SP.ClientContext.get_current(); 
    oWeb = clientContext.get_web(); 
    currentUser = oWeb.get_currentUser(); 
    allGroups = currentUser.get_groups(); 
    clientContext.load(allGroups); 

    clientContext.executeQueryAsync(OnSuccess, OnFailure); 
    function OnSuccess() { 
     var grpsEnumerator = allGroups.getEnumerator(); 

     while (grpsEnumerator.moveNext()) {   
     var group = grpsEnumerator.get_current(); 
     var grpTitle = group.get_title(); 
     var grpid = group.get_id(); 
     console.log('Group Id :' + grpid); 
     console.log('Group Title :'+ grpTitle); 

     roleBindings = oWeb.get_roleAssignments().getByPrincipalId(grpid).get_roleDefinitionBindings(); 
     clientContext.load(roleBindings); 

      clientContext.executeQueryAsync(function() { 
       var iterator = roleBindings.getEnumerator(); 
       while (iterator.moveNext()) { 
        current = iterator.get_current(); 
        console.log('Show Role Defination Title : '+ current.get_name()); 

        } 
      }); 
     } 
    } 

    function OnFailure(){ 
    console.log('Process Failed'); 
    } 
}