With the Dws Web Service, you are able to retrieve doc-level permissions viathe Dws.GetDwsMetaData method.With the Permissions Web Service, you are able to retrieve site and listpermissions via the Permissions.GetPermissionCollection method.

However, there doesn't seem to be any suitable Web Service for retrievingpermissions of a doc folder? Or am I missing something?

recently I had similar problem - I had to query user permissions on allfolders and documents in a document library.

After long search, I found one web service method: SiteData.GetContent()It is not very much documented, and had no examples, but after someexperimenting with the parameters, I get it to return data, which looks likethis:

Basically, it returns a list of 'permission' scopes and then a list of alldocuments and folders contained in the library, and for each item there isthe 'permission' scope id, which contains the effective permissions for theitem.

To get this information, i call SiteData.GetContent()with the following parameters:

where listID is the document library GUID, previously retrieved by a call toLists.GetList(document library name)

Hope this helps,

Jogy

Post by JarrodWith the Dws Web Service, you are able to retrieve doc-level permissions viathe Dws.GetDwsMetaData method.With the Permissions Web Service, you are able to retrieve site and listpermissions via the Permissions.GetPermissionCollection method.However, there doesn't seem to be any suitable Web Service for retrievingpermissions of a doc folder? Or am I missing something?Any help/pointers will be most appreciated! Thanks.

Post by JarrodThanks Jogy,It must have been quite a substantial amount of trial and error to stumbleupon this, kudos to you...Now next question, how do we interprete the mask values?

Hello,

I think the values are same as the ones defined in SPBasePermissionsenumeration of the SharePoint SDK:

[Flags]public enum SPBasePermissions{// Summary:// Has no permissions on the Web site. Not available through theuser interface.EmptyMask = 0,//// Summary:// View items in lists, documents in document libraries, andview Web discussion// comments.ViewListItems = 1,//// Summary:// Add items to lists, add documents to document libraries, andadd Web discussion// comments.AddListItems = 2,//// Summary:// Edit items in lists, edit documents in document libraries,edit Web discussion// comments in documents, and customize Web Part Pages indocument libraries.EditListItems = 4,//// Summary:// Delete items from a list, documents from a document library,and Web discussion// comments in documents.DeleteListItems = 8,//// Summary:// Approve a minor version of a list item or document.ApproveItems = 16,//// Summary:// View the source of documents with server-side file handlers.OpenItems = 32,//// Summary:// View past versions of a list item or document.ViewVersions = 64,//// Summary:// Delete past versions of a list item or document.DeleteVersions = 128,//// Summary:// Discard or check in a document which is checked out toanother user.CancelCheckout = 256,//// Summary:// Create, change, and delete personal views of lists.ManagePersonalViews = 512,//// Summary:// Create and delete lists, add or remove columns in a list, andadd or remove// public views of a list.ManageLists = 2048,//// Summary:// View forms, views, and application pages, and enumeratelists.ViewFormPages = 4096,//// Summary:// Allow users to open a Web site, list, or folder to accessitems inside that// container.Open = 65536,//// Summary:// View pages in a Web site.ViewPages = 131072,//// Summary:// Add, change, or delete HTML pages or Web Part Pages, and editthe Web site// using a Windows SharePoint Services–compatible editor.AddAndCustomizePages = 262144,//// Summary:// Apply a theme or borders to the entire Web site.ApplyThemeAndBorder = 524288,//// Summary:// Apply a style sheet (.css file) to the Web site.ApplyStyleSheets = 1048576,//// Summary:// View reports on Web site usage.ViewUsageData = 2097152,//// Summary:// Create a Web site using Self-Service Site Creation.CreateSSCSite = 4194304,//// Summary:// Create subsites such as team sites, Meeting Workspace sites,and Document// Workspace sites.ManageSubwebs = 8388608,//// Summary:// Create a group of users that can be used anywhere within thesite collection.CreateGroups = 16777216,//// Summary:// Create and change permission levels on the Web site andassign permissions// to users and groups.ManagePermissions = 33554432,//// Summary:// Enumerate files and folders in a Web site using MicrosoftOffice SharePoint// Designer 2007 and WebDAV interfaces.BrowseDirectories = 67108864,//// Summary:// View information about users of the Web site.BrowseUserInfo = 134217728,//// Summary:// Add or remove personal Web Parts on a Web Part Page.AddDelPrivateWebParts = 268435456,//// Summary:// Update Web Parts to display personalized information.UpdatePersonalWebParts = 536870912,//// Summary:// Grant the ability to perform all administration tasks for theWeb site as// well as manage content. Activate, deactivate, or editproperties of Web site// scoped Features through the object model or through the userinterface (UI).// When granted on the root Web site of a site collection,activate, deactivate,// or edit properties of site collection scoped Features throughthe object// model. To browse to the Site Collection Features page andactivate or deactivate// site collection scoped Features through the UI, you must be asite collection// administrator.ManageWeb = 1073741824,//// Summary:// Use features that launch client applications; otherwise,users must work// on documents locally and upload changes.UseClientIntegration = 68719476736,//// Summary:// Use SOAP, WebDAV, or Microsoft Office SharePoint Designer2007 interfaces// to access the Web site.UseRemoteAPIs = 137438953472,//// Summary:// Manage alerts for all users of the Web site.ManageAlerts = 274877906944,//// Summary:// Create e-mail alerts.CreateAlerts = 549755813888,//// Summary:// Allows a user to change his or her user information, such asadding a picture.EditMyUserInfo = 1099511627776,//// Summary:// Enumerate permissions on the Web site, list, folder,document, or list item.EnumeratePermissions = 4611686018427387904,//// Summary:// Has all permissions on the Web site. Not available throughthe user interface.FullMask = 9223372036854775807,}

Post by JarrodBtw, is there any official word on this technique? Documentation onGetContent is sorely lacking, perhaps there's a cleaner and easier way toretrieve folder permissions?

No official information, the documentation athttp://msdn.microsoft.com/en-us/library/ms772581.aspxstill states only that"GetContent operation is polymorphic; it can be used (when called withproper parameters) instead of specific traversal operations - GetSite,GetWeb, EnumerateFolder, GetListCollection, GetList, GetListItems,GetAttachments. GetContent fully covers specific traversal operationsfunctionality, albeit details of input parameters and syntax of the responsemight differ."

Yeap, saw that doc from msdn too - wonder if there's anyone here from the MSSharePoint team that can shed some light on the various "proper parameters"to achieve useful results.

Meanwhile, thanks for the pointer on the permission masks.

With regards to the suggested GetContent method, it doesn't quite work outas expected for me. It only retrieves info from immediate child folders -i.e. it does not recurse down to deeper subfolders. Also, lastItemIdOnPagereturned is "", so I believe it's not a matter of making additional calls toretrieve additional pages of info.