Forum
Merhaba,
bir sorun ile karsi karsiyayim, yardiminiza ve mantiginiza ihtiyacim var.
REST Endpoint URI http://sitename/_api/web/sitegroups ile tum site collection deki tum grouplari gorebiliyorum, ama bana sadice login yapan kollanicinin subsite da izininin olup olmadigini belirleyip listelemek.
//Retrieve all of the site groups
function getSiteGroups() {
var executor;
// Initialize the RequestExecutor with the app web URL.
executor = new SP.RequestExecutor(appweburl);
executor.executeAsync({
url: appweburl + "/_api/SP.AppContextSite(@target)/web/sitegroups?@target='" + hostweburl + "'",
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
success: getSiteGroupsSuccessHandler,
error: getSiteGroupsErrorHandler
});
}
//Populate the selectSiteGroups control after retrieving all of the site groups.
function getSiteGroupsSuccessHandler(data) {
var jsonObject = JSON.parse(data.body);
var selectSiteGroups = document.getElementById("selectSiteGroups");
if (selectSiteGroups.hasChildNodes()) {
while (selectSiteGroups.childNodes.length >= 1) {
selectSiteGroups.removeChild(selectSiteGroups.firstChild);
}
}
var results = jsonObject.d.results;
for (var i = 0; i < results.length; i++) {
var selectOption = document.createElement("option");
selectOption.value = results[i].Title;
selectOption.innerText = results[i].Title;
selectSiteGroups.appendChild(selectOption);
}
}
guzel kaynak ama gine cozemiyorum,
ben sadice "Subsite ISMI_Admins" groubunu listelemek bu groupun Full control yetkisi var.
Nasil yaparim, http://sitename/_api/web/sitegroups filter veya select yapsamda tum grouplari gosteriyor, list gibi degil sanki destek limiyor.
ben sadice Full control li olan "Subsite ISMI_Admins" bu isim formatindaki grouplari listelemek isterim.
Resim linki https://ibb.co/jqPnxG
Yardiminiza simdiden tessekkur ederim.
aslında soyle yapabılırsın gıbı . aşağıda mevcut siteye baglanıp o sıtedekı userlerı ceken bır kod var. sen zaten aktıf kullanıcıyı bılıyorsun logın olan sonra gıbı sub sitedeki userları cekıp senın userın webuser ıcınde varmı dıye kontrol edersen sankı sorun cozulur ?
bu ısıne yararmı acaba ?
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);
});
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Cok sagolun Erdem Hocam,
Ben deniyorum bir sonuca varirim INS,
Simdi tum grouplari table yazdirdim, ama nasil bu userning o groupta izini olup olmadigini listeleyip, tabluda o grouplari gosterebilirim? yeno bir soru mu olustirim?
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/sitegroups?$filter=substringof('Admins',Title)";
$.ajax({
url: requestUri,
type: "GET",
headers: {
"accept":"application/json;odata=verbose",
// "content-type": "application/json;odata=verbose",
// "X-RequestDigest":$("#_REQUESTDIGEST").val()
},
success: function (data) {
//var groupId=ctx.CurrentItem.Id;
if (data.d.results.length > 0) {
$.each(data.d.results, function (index, item) {
if(item.URL !== null){
var groupUrlAddress= _spPageContextInfo.webAbsoluteUrl;
var groupNameUrltemp="/_layouts/15/people.aspx?MembershipGroupId=";
console.log(item.LoginName);
$('#tblUsers').append('<tr><td>' + item.LoginName + '</td><td>' + item.Description + '</td><td><a href="' + groupUrlAddress + '' + groupNameUrltemp + '' + item.Id + '">' + item.Id + '</a></td></tr>');
}
});
}
Tessekkur ederim
bence yenı soru olsuturun bırbırıne karısmasın bu lısteleme sorunu tamam sa dıgerıne de bakalım yenı konuda
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Tamam Erdem hocam oyle yapim.