如何通过Sharepoint Designer 2013工作流设置文档级权限

时间:2015-08-22 09:12:54

标签: sharepoint permissions sharepoint-designer sharepoint-workflow

我有一份文档批准SharePoint Designer 2013工作流程。工作流对在文档库中创建新文件夹做出反应。新创建的文件夹将包含用户上传的新文档。我发现我可以使用REST api打破/设置新创建的文件夹的权限:

/_api/web/lists/getByTitle('document library')/items('id of the new folder')/breakroleinheritance(copyRoleAssignments=true,clearSubscopes=true)

我的问题是如何在新文件夹中上传的文件中断/设置权限,可能是通过其余的api?我真的找不到办法做到这一点。我需要关闭文件夹一级,以设置单个文档的权限。任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

通过getfilebyserverrelativeurl端点

Endpoint Uri: /_api/web/getfilebyserverrelativeurl('<file url>')/ListItemAllFields/breakroleinheritance(true)
Method: POST
Headers {Accept: application/json;odata=verbose, X-RequestDigest: <value>}
  

其中file url是文件的服务器相对URL

JavaScript示例:

function breakRoleInheritance(webUrl,fileUrl) { 
     return $.ajax({
            url: webUrl + "/_api/web/GetFileByServerRelativeUrl('" + fileUrl + "')/ListItemAllFields/breakroleinheritance(copyRoleAssignments=true,clearSubscopes=true)",
            type: "POST",
            contentType: "application/json;odata=verbose",
            headers: {
                "Accept": "application/json;odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            }
     });   
}

通过ListItem资源

Endpoint Uri: /_api/web/lists/getByTitle('<list title>')/items('<id>')/breakroleinheritance(copyRoleAssignments=true,clearSubscopes=true)
Method: POST
Headers {Accept: application/json;odata=verbose, X-RequestDigest: <value>}
  

其中list title列表或库标题,id - 列出关联的项目   与文件