2

我有一个文档批准SharePoint Designer 2013工作流程。工作流程对在文档库内创建新文件夹做出反应。新创建的文件夹将包含用户上传的新文件。我发现我可以使用REST API新创建的文件夹断/设置权限:如何通过Sharepoint Designer 2013设置文档级别权限worklfow

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

我的问题是我怎么能上破新文件夹内上传文件/设置权限,可能通过REST API ?我真的找不到办法。我需要关于文件夹降低一级以设置单个文档的权限。任何帮助将非常感激。

回答

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 - 列表项关联 与文件

1

设置项级权限的简单过程不可用的SharePoint 2013的工作流。我能够做的唯一方法是通过在Appstep下调用的REST api。

有由2个电话:

BreakRoleInheritance

AddRoleAssignment

This Blog

0

你提到“工作流程上创建一个文档库中的新文件夹的反应新创建的文件夹将包含用户上传的新文档“。我知道工作流与文件夹内容类型相关联,并且在创建文件夹时,权限继承的中断功能正常。

您缺少的是上传文档时触发的工作流程。您需要将工作流程与文档内容类型或所有内容类型相关联,以便工作流程可以处理所创建的任何项目 - 文件夹或文件。

注意:默认情况下,文件夹内的文件将继承该文件夹的权限。

相关问题