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

如何通过REST API删除SharePoint列表所有项?优先非循环方式

通过REST API批量删除SharePoint列表所有项(无需循环)

有高效的方式可以实现无需手动循环逐个删除的需求,其中**批量请求(Batch Requests)**是最适合Postman操作的方案:

方法:使用SharePoint REST Batch批量删除

这是官方支持的批量操作方式,可将所有删除请求打包为一个HTTP请求发送,避免多次单独请求。

步骤1:获取列表所有项的ID

先通过一次GET请求拿到目标列表中所有项的ID:

  • 请求URL:
    https://<myOrganization>.sharepoint.com/sites/path/_api/web/lists/getbytitle('Listname')/items?$select=Id
    
  • 请求头:
    • Accept: application/json;odata=nometadata(简化返回的JSON结构)

步骤2:构造Batch请求体

向SharePoint的批量请求端点发送POST请求,打包所有删除操作:

  • 请求URL:

    https://<myOrganization>.sharepoint.com/sites/path/_api/$batch
    
  • 请求方法:POST

  • 请求头:

    • Content-Type: multipart/mixed; boundary=batch_<随机唯一字符串>(例如batch_789abc)
    • Accept: application/json;odata=nometadata
    • X-RequestDigest: <从/_api/contextinfo获取的表单摘要值>(需先通过GET请求https://<myOrganization>.sharepoint.com/sites/path/_api/contextinfo获取该值)
  • 请求体示例(假设要删除ID为1、2、3的项):

    --batch_789abc
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    DELETE https://<myOrganization>.sharepoint.com/sites/path/_api/web/lists/getbytitle('Listname')/items(1) HTTP/1.1
    Accept: application/json;odata=nometadata
    
    --batch_789abc
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    DELETE https://<myOrganization>.sharepoint.com/sites/path/_api/web/lists/getbytitle('Listname')/items(2) HTTP/1.1
    Accept: application/json;odata=nometadata
    
    --batch_789abc
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    DELETE https://<myOrganization>.sharepoint.com/sites/path/_api/web/lists/getbytitle('Listname')/items(3) HTTP/1.1
    Accept: application/json;odata=nometadata
    
    --batch_789abc--
    

进阶:Postman脚本自动生成Batch请求

如果列表项较多,可通过Postman的Pre-request Script自动生成Batch请求体:

  1. 先在单独请求中获取所有项的ID,将结果保存到环境变量
  2. 在批量删除请求的Pre-request Script中,遍历ID数组生成对应的删除请求片段,拼接成完整的Batch请求体

关键API限制说明

  • 批量请求数量上限:SharePoint Online中,单个Batch最多包含1000个请求,若列表项超过1000,需拆分多个Batch发送
  • 请求大小限制:单个Batch请求的内容不能超过4MB,拆分时需同时考虑请求数量和内容大小
  • 速率限制:SharePoint Online存在请求速率阈值,批量操作需避免短时间内发送过多请求,防止被限流

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 20:55:07