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

如何使用SharePoint REST API创建网页?求对应API接口

SharePoint REST API 创建网页的实用方案

没问题!你之前搞定了文件夹创建和文件上传,现在要创建网页的话,SharePoint确实有对应的REST API,只不过和文档库的接口不一样,分现代Site Page和经典Wiki Page两种常见场景,我给你详细拆解:

一、创建现代Site Page(适用于SharePoint Online/2019及以上版本)

现代站点的页面用这个端点最方便,专门针对Site Pages库设计:

  • 请求方法:POST
  • API端点:/_api/sitepages/pages
  • 必须携带的请求头:
    • Accept: application/json;odata=verbose
    • Content-Type: application/json;odata=verbose
    • X-RequestDigest: <你的请求摘要值>(这个要先从/_api/contextinfo获取,用来防止CSRF攻击)
  • 请求体示例(直接复制修改就能用):
{
  "__metadata": {
    "type": "SP.Publishing.SitePage"
  },
  "Title": "我的第一个现代页面",
  "PageLayoutType": "Article", // 可选值还有Home、SingleWebPartAppPage等
  "Content": "{\"blocks\":[{\"type\":\"text\",\"text\":\"这是页面的核心内容,支持JSON格式的富文本区块\"}]}",
  "BannerImageUrl": "/sites/你的站点名/SiteAssets/页面横幅.jpg" // 可选,不需要可以删掉这行
}

小技巧:如果需要复杂的页面内容,先手动创建一个现代页面,然后用GET /_api/sitepages/pages(<页面ID>)请求获取它的Content字段,照着结构改就行,比自己写方便多了。

二、创建经典Wiki Page(兼容所有SharePoint版本)

如果你的站点是经典模式,或者需要创建传统的Wiki页面,就用这个文件上传的变种接口:

  • 请求方法:POST
  • API端点:/_api/web/getfolderbyserverrelativeurl('SitePages')/files/add(url='MyWikiPage.aspx', overwrite=false)
  • 请求头和上面一样,需要X-RequestDigest、Accept和Content-Type
  • 请求体是页面的HTML内容,示例如下:
<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<WebPartPages:WebPartPage runat="server" Title="我的经典Wiki页面" PageType="Wiki">
  <WebPartPages:WikiContent runat="server">
    <h1>欢迎来到我的Wiki页面</h1>
    <p>这里可以写任意HTML格式的内容</p>
  </WebPartPages:WikiContent>
</WebPartPages:WebPartPage>

注意:overwrite=false表示如果同名页面已存在就不覆盖,改成true可以强制覆盖。

三、几个关键提醒

  • 权限一定要够:确保你的账户或应用有站点的编辑权限以上,不然会返回403错误。
  • 请求摘要别忘拿:所有POST请求都需要这个,调用/_api/contextinfo的POST请求就能拿到FormDigestValue字段。
  • 测试建议:先在Postman或者类似工具里调试通API,再集成到你的代码里,这样更容易排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 08:52:33