Wednesday, 6 August 2014

"Access denied. You do not have permission to perform this action or access this resource."

I am getting this error in SharePoint App, when i try to read group using CSOM.
Error: "Access denied. You do not have permission to perform this action or access this resource."

Solution:
var objCtx = SP.ClientContext.get_current();
var user = objCtx.get_web().get_currentUser();
var currentWeb = objCtx.get_web();
objCtx.load(user);
var objAllGroups = currentWeb.get_siteGroups();
objCtx.load(objAllGroups);
var objGroup = objAllGroups.getByName("MyGroup");
objCtx.load(objGroup);
var objGroupUsers = objGroup.get_users();
objCtx.load(objGroupUsers);
objCtx.executeQueryAsync(succF, failF);
function succF(sender, args) {
var userExist = false;
var groupUserEnumerator = objGroupUsers.getEnumerator();
while (groupUserEnumerator.moveNext()) {
var groupUser = groupUserEnumerator.get_current();
if (groupUser.get_id() == user.get_id()) {
userExist = true;
break;
}
}
if (userExist == true) {
console.log("User exist");
} else {
console.log("User Not exist");
}
}
function failF(sender, args) {
console.log("error");
}
view raw gistfile1.js hosted with ❤ by GitHub

Users should have view access on the Group.

Steps to give view permissions to all users:
Go to Site Settings
Click People and groups under Users and Permissions
Click on Group name (Your group Name)under Groups
Click on Settings
Select Group Settings
Under Group Settings

Who can view the membership of the group?
Select "Everyone"
Ok



Problem solved.