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

能否通过Power Automate从SharePoint列表取值自动创建快速链接?

从SharePoint列表自动生成动态快速链接(Power Automate实现)

前提准备

  • 你的SharePoint列表需包含至少两个字段:标题(存储链接显示名称)、链接地址(单行文本类型,填写目标URL),可选新增是否显示(是/否类型)用来过滤要展示的链接。
  • 在目标SharePoint页面添加「快速链接」Web部件,完成初始配置(比如选好布局),后续流会基于这个Web部件的结构更新内容。

步骤1:创建Power Automate云流

选择触发器

根据需求选:

  • 实时更新:选「当项目创建、修改或删除时」(针对你的链接列表)
  • 定期同步:选「定期安排的触发器」(比如每天凌晨同步一次)

核心操作流程

  1. 获取列表有效数据
    添加「获取项目」操作,选择你的站点和链接列表,在「筛选查询」里可添加条件(比如是否显示 eq true),只拉取需要展示的链接。

  2. 转换数据格式(适配快速链接)
    添加「选择」操作,把列表字段映射成快速链接Web部件需要的格式:

    • 映射键title → 选择列表的「标题」字段
    • 映射键url → 选择列表的「链接地址」字段
  3. 获取目标页面的现有内容
    添加「获取项目」操作,选择站点的「Site Pages」列表,在「筛选查询」里填FileLeafRef eq '你的页面名称.aspx'(比如FileLeafRef eq 'Home.aspx'),拿到页面的CanvasContent1字段(这是页面的结构化JSON内容)。

  4. 替换快速链接Web部件数据
    添加「Compose」操作,用表达式把转换后的链接数据替换到CanvasContent1的对应位置。示例表达式(假设快速链接Web部件的id是wp123,你可以从之前获取的CanvasContent1里找到):

    replace(body('获取项目_页面内容')?['value'][0]?['CanvasContent1'], '"id":"wp123","webPartData":{"properties":{"items":[]}', concat('"id":"wp123","webPartData":{"properties":{"items":', body('选择'), '}'))
    

    注:如果找不到Web部件的id,可以手动编辑页面后,用「获取项目」拉取页面内容,搜索"title":"快速链接"附近的id值。

  5. 更新页面内容
    添加「发送HTTP请求到SharePoint」操作:

    • 站点地址:选目标站点
    • 请求类型:POST
    • 请求URI:_api/web/lists/getbytitle('Site Pages')/items(<页面ID>),把<页面ID>换成从「获取项目_页面内容」里拿到的ID值
    • 请求头:添加三个键值对
      • Content-Type: application/json;odata=verbose
      • X-HTTP-Method: MERGE
      • IF-MATCH: *
    • 请求体:{"CanvasContent1": @{outputs('Compose')}}

步骤2:测试与排错

  • 手动在链接列表添加一条测试数据,触发流后刷新页面,查看快速链接是否更新。
  • 若流报错,优先检查:
    • 操作账号是否有页面编辑和列表读取权限
    • JSON格式是否正确(可把Compose的输出复制到JSON校验工具里检查)
    • 页面ID、Web部件ID是否匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:46:17