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

SharePoint列表规则问题:修正新增项通知的提交人显示

解决Power Automate创建SharePoint项后通知显示错误创建者的问题

问题根源

SharePoint默认的「创建项」通知规则,是在项被创建的瞬间触发的,此时抓取的是执行创建操作的账户——也就是你的Power Automate流运行账户。哪怕之后用HTTP修改了Created By/Modified By字段,通知已经提前生成了,自然还是显示你的名字。

解决方案一:直接以提交人身份创建项(推荐)

不要先创建项再修改字段,直接通过REST API模拟提交人创建项,从根源解决问题:

  • 第一步:在Power Automate流里,用「Get user profile (V2)」动作,传入Forms响应里的提交人邮箱,获取该用户的ID(SharePoint内部用户ID)。
  • 第二步:调用SharePoint的REST API创建项,请求配置如下:
    • 方法:POST
    • 地址:https://你的站点地址/_api/web/lists/getbytitle('你的列表名称')/items
    • 请求头:
      • Content-Type: application/json;odata=verbose
      • X-RequestDigest: {从站点获取的请求摘要值}
    • 请求体(替换成你的字段和用户ID):
      {
        "__metadata": {"type": "SP.Data.你的列表名称ListItem"},
        "标题": "表单提交的标题",
        // 其他自定义字段...
        "AuthorId": 提交人ID,
        "EditorId": 提交人ID
      }
      
  • 注意:你的流运行账户需要有站点集管理员权限,或者具备“代表其他用户操作”的权限,否则无法模拟提交人创建项。

解决方案二:修改通知规则的触发逻辑

如果不想改流的创建逻辑,可以调整SharePoint的通知规则:

  • 删除原有的「当项被创建时」的通知规则。
  • 新建规则:选择「当项目被修改时」作为触发条件,然后添加筛选条件——Created By字段发生了变化。
  • 通知内容保持[Created By]已添加新项,这样当你用HTTP修改完Created By字段后,通知才会触发,此时显示的就是实际提交人。

检查现有HTTP修改是否正确

如果你坚持用先创建再修改的方式,确保你的HTTP请求是修改了用户ID而非仅仅显示名称:

  • 请求方法:PATCH
  • 地址:https://你的站点地址/_api/web/lists/getbytitle('你的列表名称')/items(项的ID)
  • 请求头:
    • Content-Type: application/json;odata=verbose
    • X-RequestDigest: {请求摘要值}
    • IF-MATCH: *(强制覆盖,避免版本冲突)
  • 请求体:
    {
      "__metadata": {"type": "SP.Data.你的列表名称ListItem"},
      "AuthorId": 提交人ID,
      "EditorId": 提交人ID
    }
    

修改完成后,刷新列表确认Created By字段确实显示为提交人,再测试通知。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 16:03:16