Quantcast
Channel: SharePoint 2010 - Development and Programming forum
Viewing all articles
Browse latest Browse all 11508

How to use the SharePoint Client Object Model to get the email address of each user with access to a list

$
0
0

Here's what I have so far:


        private static bool RoleAssignmentHasPermissions(RoleAssignment roleAssignment)
        {
            roleAssignment.Context.Load(roleAssignment.RoleDefinitionBindings);
            roleAssignment.Context.ExecuteQuery();

            foreach (var x in roleAssignment.RoleDefinitionBindings)
            {
                if (x.BasePermissions != null)
                    return true;
            }

            return false;
        }


        foreach (RoleAssignment x in MyListItem.RoleAssignments)
        {
                MyListItem.Context.Load(x.Member);
                MyListItem.Context.ExecuteQuery();

                bool hasPermissions = RoleAssignmentHasPermissions(x);

                if (x.Member is Group)
                {
                    // For groups, recursively process the user entries.
                    foreach (User u in ((Group)x.Member).Users)
                    {
                        // get user's email address
                    }
                }
                else
                {
                    // For users, directly, process entry.
                    // get user's email address
                }
         }


Viewing all articles
Browse latest Browse all 11508

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>