2016-04-14 9 views
0

Ich versuche, SharePoint Benutzer Gruppenberechtigungen (Bsp .: Lesen, Contribute) basierend auf dem Gruppennamen mit SharePoint Rest API zu erhalten. Mein Ziel ist es, die Berechtigungsstufe der Gruppe zu erhalten und die Funktionen in unserer benutzerdefinierten App basierend auf den Berechtigungsstufen zu deaktivieren. Ich habe die folgende URL versucht, um die Gruppeneigenschaften zu erhalten, konnte aber nicht die Berechtigungsstufe der Gruppe erhalten. Könnte mir bitte jemand erklären, wie man die Benutzergruppenberechtigungen erhält.Get SharePoint-Gruppenberechtigungsstufe Name basierend auf Gruppenname Verwenden von SharePoint Rest API

Optionen Versuchen:

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

Antwort

0

Sie dies nicht allein aus dem SiteGroup Objekt in der Lage zu bekommen. Ihr Rest-Aufruf ruft nur Gruppeninformationen ab (Titel, ID, Beschreibung und andere Metadaten). Um Berechtigungsstufen abzurufen, müssen Sie einige weitere Anrufe tätigen. Siehe https://msdn.microsoft.com/en-us/library/office/dn531432.aspx mehr über RoleAssignment zu lesen und RoleDefinition

0

Die Funktion unten kehrt Gruppe Berechtigungsstufe Titel und der Rest der Informationen:

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