You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Power Automate流管理SharePoint列表的用户访问权限

SharePoint列表权限自动化(Power Automate实现报告与变更)

一、用「发送HTTP请求到SharePoint」实现权限操作

1. 获取列表权限用户/组列表

要收集指定列表的所有权限分配信息,使用以下API请求:

  • 请求方法:GET
  • URI:/_api/web/lists/getbytitle('{你的列表名称}')/roleassignments
  • 请求头:添加Accept: application/json;odata=verbose

返回结果中,每条权限项包含PrincipalId(用户/组的唯一ID)和RoleDefinitionId(对应权限角色的ID)。如需获取用户/组的详细信息(如名称、邮箱),可针对PrincipalId发起二次请求:

  • 获取用户详情:/_api/web/getuserbyid({PrincipalId})(GET方法)
  • 获取组详情:/_api/web/sitegroups/getbyid({PrincipalId})(GET方法)

2. 修改列表权限(添加/移除)

添加权限

给指定用户/组分配列表级权限:

  • 请求方法:POST
  • URI:/_api/web/lists/getbytitle('{你的列表名称}')/roleassignments/addroleassignment(principalid={用户/组ID}, roledefid={权限角色ID})
  • 请求头:添加Content-Type: application/json;odata=verbose
  • 请求体:{}(空JSON即可)

常见权限角色ID参考:

  • 读取:1073741826
  • 编辑:1073741827
  • 完全控制:1073741829

移除权限

移除用户/组的列表级权限:

  • 请求方法:POST
  • URI:/_api/web/lists/getbytitle('{你的列表名称}')/roleassignments/removeroleassignment(principalid={用户/组ID}, roledefid={权限角色ID})
  • 请求头:添加Content-Type: application/json;odata=verbose
  • 请求体:{}

二、关于列表ID与批量操作的说明

  • 列表本身有唯一GUID格式的ID,可通过/_api/web/lists/getbytitle('{你的列表名称}')(GET方法)获取Id字段。在API URI中,可使用getbyid('{列表GUID}')替代getbytitle('{列表名称}'),避免因列表名称变更导致请求失效。
  • 无需遍历列表所有项目设置权限:你提到的「授予项目或文件夹访问权限」属于项目级操作,而列表级权限可直接通过上述API完成,效率更高且直接作用于整个列表。

内容的提问来源于stack exchange,提问作者Degan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:17:45