1,通过HTTP请求获取文件夹的全部roleassignments
_api/web/GetFolderByServerRelativeUrl('/sites/DynamicsFile/new_anken/PrincipalTest')/ListItemAllFields/roleassignments/
结果会返回一组PrincipalId,每一个PrincipalId对应一个user,或者Group,这个在系统中是固定的
2,然后可以先打断文件夹的继承
_api/web/GetFolderByServerRelativeUrl('/sites/DynamicsFile/new_anken/PrincipalTest')/ListItemAllFields/breakroleinheritance(true)
true:保留父文件夹的所有权限
false:只保留自己的权限
3,自己筛选条件,用removeroleassignment删除对应的PrincipalId
_api/web/GetFolderByServerRelativeUrl('/sites/DynamicsFile/new_anken/PrincipalTest')/ListItemAllFields/roleassignments/removeroleassignment(principalid=12)
追加同理,使用addroleassignment(principalidPrincipalId=,roledefid=1073741827),需要用roledefid来设定权限级别
补充,通过RoleAssignments/GetByPrincipalId(3)/Member,可以取得PrincipalId对应的user名称或Group名称,以及Group在AAD里面的Id
"Title": "名称",
"LoginName": "c:0t.c|tenant|646a4ec7-6812-4d9b-8136-58a977cf49bc",