I have to use web services to get current users permissions for document libraries in sharepoint. I tried using Permissions.asmx:"GetPermissionCollection" but it only works when the user has Full control.If the user has any other permission(eg:read/contribute) i get 401 error.

I have to create an app where i display all the Document libraries which have Write permission for the current logged in user.

For getting user permissions for a Site, I am using UserGroup.asmx:"GetRolesAndPermissionsForCurrentUser", It is working fine... But it does not work for libraries... :(

Can you please help me with a solution to this issue...I have googled the issue but haven't been able to find an optimum solution.

Thanks and Regards,


2 Answers 2


To do this, you'll want to take a slightly different approach. In order to enumerate permissions, users need a high level of access, as you've seen. Instead of using permissions.asmx, use the GetListCollection operation from Lists.asmx. This will return a security trimmed list of lists and libraries the user can access.

Then with those results, you can evaluate the values in the ReadSecurity and WriteSecurity nodes to see what they can do. Here is a reference on what those fields mean. You'll also want to look specifically at items with a server template of 101 (document library).

  • 1
    Although this is an old post, I wanted to just say Thank you Eric... your answer helped me today. I wanted to also add that I did not find WriteSecurity on the response from GetListCollection (O365), but it is returned when you do a GetList. The GetListCollection does include the ReadSecurity, which works as you indicate: returns only lists the user can "see". In my case, I had to pull the the GetList result to see if the user had WriteSecurity. Thanks again.
    – Paul T.
    Dec 31, 2013 at 14:01

The information you are looking for is available via the "Check Permissions" button in the document library ribbon.

Also, there are third-party tools that do this, plus more.

  • 1
    I'm missing the connection between programmatic request of the poster and the user driven response of your answer. If you are implying that we can reverse engineer the solution from the check permissions button, it might be good to explain that. The other option seems to be that you can't do that in a web service, but it's not clear to me from this answer.
    – Tom Resing
    Jun 23, 2011 at 2:08
  • I need more rep in order to downvote this answer. Aug 10, 2011 at 12:35
  • I would downvote, as well.
    – vapcguy
    Apr 30, 2015 at 1:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.