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

如何通过SharePoint Rest API在主页添加指向文档库文件夹的Quick Links部件

核心实现步骤

Quick Links Web部件的内部标识为QuickLinks,需通过修改主页的CanvasContent1字段(存储页面所有Web部件配置)完成添加,具体操作如下:

1. 获取主页的现有Web部件配置

先发起请求获取目标主页(通常是Home.aspx)的Web部件集合:

GET /_api/web/lists/getbytitle('Site Pages')/items?$filter=FileLeafRef eq 'Home.aspx'&$select=Id,CanvasContent1

返回结果里的CanvasContent1是一个JSON数组,包含页面上已有的所有Web部件配置信息。

2. 构造Quick Links部件的配置JSON

根据Documents库的目标文件夹,生成对应部件配置。示例如下(需替换占位内容):

{
  "id": "d2b9d03a-1234-5678-90ab-cdef01234567", // 生成唯一GUID
  "instanceId": "d2b9d03a-1234-5678-90ab-cdef01234567", // 与id保持一致
  "title": "快速链接",
  "serverProcessedContent": {
    "links": { "baseUrl": "/sites/你的站点名称" }
  },
  "dataVersion": "2.0",
  "properties": {
    "items": [
      {
        "sourceItem": {
          "itemType": "folder",
          "url": "/sites/你的站点名称/Documents/目标文件夹路径", // 文件夹服务器相对URL
          "urlType": "serverRelative"
        },
        "displayName": "文件夹显示名称"
      }
    ],
    "layoutId": "List" // 可选布局:List/Grid/CompactList
  }
}
  • 需为每个新部件生成唯一GUID(可通过PowerShell的New-Guid或在线工具生成)
  • baseUrl填写站点的服务器相对路径
  • items数组可添加多个文件夹项,实现多快速链接配置

3. 更新主页的Web部件集合

将构造好的Quick Links部件JSON追加到CanvasContent1的数组中,发送MERGE请求更新主页:

POST /_api/web/lists/getbytitle('Site Pages')/items(主页Id)
Headers:
  Accept: application/json;odata=verbose
  Content-Type: application/json;odata=verbose
  X-HTTP-Method: MERGE
  If-Match: *
Body:
{
  "__metadata": { "type": "SP.Data.SitePagesItem" },
  "CanvasContent1": "[原有Web部件数组, 新的Quick Links部件JSON]"
}

例如原有CanvasContent1是[{"id":"xxx",...}],则更新后为[{"id":"xxx",...}, {"id":"d2b9d03a-...",...}]

关键注意事项

  • 操作账号需拥有站点编辑权限,能修改Site Pages库中的主页
  • 文件夹的服务器相对URL需准确,可通过文件夹属性面板获取
  • 布局类型layoutId可按需选择,对应不同的展示样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 22:33:28