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

如何在Power Automate中通过Rest Api更新SharePoint页面列?

实现方案

首先确认:_api/web/getfilebyserverrelativeurl('{fileUrl}')/ListItemAllFields 完全适用于SharePoint页面列更新,因为站点页面本质是存储在「站点页面」库中的列表项,和普通列表项的更新逻辑一致。

操作步骤(Power Automate 环境)

  1. 前置准备
    • 确认待更新页面的服务器相对URL:例如站点地址为https://contoso.sharepoint.com/sites/test,页面存放在默认站点页面库时,URL为/sites/test/SitePages/测试页面.aspx
    • 确认待更新列的内部名称:不要使用页面上显示的列名,进入「站点页面」库的设置页面,点击对应列名,地址栏中Field=参数后的值即为内部名
  2. 配置「向SharePoint发送HTTP请求」操作
    选择Power Automate内置的该操作,参数配置如下:
    • 站点地址:选择目标SharePoint站点
    • 方法:POST
    • Uri:_api/web/getfilebyserverrelativeurl('{替换为你的页面服务器相对URL}')/ListItemAllFields
    • Headers 添加以下3组键值:
      • IF-MATCH: *
      • X-HTTP-Method: MERGE
      • Content-Type: application/json;odata=verbose
    • 请求体(Body)按如下格式编写,替换为你要更新的列:
    {
      "__metadata": { "type": "SP.Data.SitePagesItem" },
      "你的列内部名": "要更新的值"
    }
    

    注:__metadata中的type值可以先发送一次GET请求到上述Uri,从返回结果的__metadata.type字段获取准确值,默认站点页面库的type通常为SP.Data.SitePagesItem

  3. 特殊场景处理(发布页面)
    如果你的站点开启了页面发布功能,更新列后需要新增一个HTTP请求操作完成页面发布:
  • 方法:POST
  • Uri:_api/web/getfilebyserverrelativeurl('{替换为你的页面服务器相对URL}')/Publish('列更新')

待更新列参考截图

待更新的页面列示例

常见问题排查

  • 权限问题:确保流的运行账号对目标页面有编辑权限
  • 列名错误:确认使用的是列的内部名而非显示名,中文列名会被转码为Unicode格式,以列表设置中查询到的结果为准
  • ETag冲突:如果更新提示版本冲突,把IF-MATCH的值替换为GET请求拿到的对应ETag值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:54:04