2017-08-31 47 views
0

所有我想要做的就是允許使用REST API只能訪問特定子網站在SharePoint用戶的列表。只是一個單一的HTTP GET像這樣:對於SharePoint REST API來獲得子網站的用戶

http://<site url>/_api/Web/SiteUsers

是的,我知道的是,上面提到的電話給我允許訪問任何SharePoint站點的所有用戶,這是不是我想要或需要的,它只是一個例子。

回答

0

要檢索子網站的用戶以下端點可以利用:

Url: /_api/web/roleAssignments/groups 
Method: Get  

下面的例子演示如何檢索網頁組與用戶一起,然後提取用戶:

var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/roleAssignments/groups?$expand=Users"; 
$.getJSON(url) 
.then(function(data){ 

    var webUsers = []; 

    //extract users from groups 
    data.value.forEach(function(g){ 
     if(g.Users.length > 0) 
      webUsers = webUsers.concat(g.Users); 
    }); 


    console.log(webUsers); 

}); 
+0

一旦我添加$ expand = Users選項,我得到的只是一個登錄框(我無法成功登錄)。我可以在沒有$ expand選項的情況下運行查詢。和想法? –

+0

@BrianP。,嗯,似乎你沒有足夠的權限來枚舉用戶和羣組 –

+0

對不起,花了這麼長時間來回應,但花了一段時間1)獲得權限和2)收集數據。現在我已經按照建議運行了查詢,但我不得不說,結果是SharePoint網站上的所有用戶通常不會在子網站上擁有權限。因此,我不能說這個問題得到了回答。 –

相關問題