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

如何用jQuery AJAX正确删除Google Sheets中的整行?

修正Google Sheets AJAX删除行的代码问题

你的代码存在三个核心问题:请求方式错误、API地址错误、请求数据格式不正确,以下是具体修正方案:

错误点说明

  • 请求方式错误:Google Sheets的行删除操作需通过batchUpdate接口实现,该接口要求使用POST请求,而非DELETE
  • API地址错误:正确的接口地址是https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate,不能直接指向单元格范围
  • 请求数据格式错误:deleteDimension操作需要包裹在requests数组中,且不能注释掉data参数

修正后的代码

var deleteRequest = {
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": sheetId, // 此处为具体工作表的ID,不是整个表格的ID
          "dimension": "ROWS",
          "startIndex": 276,
          "endIndex": 277
        }
      }
    }
  ]
};

$.ajax({
  type: 'POST',
  headers: { 
    Authorization: "Bearer " + auth, 
    'content-type': 'application/json' 
  },
  data: JSON.stringify(deleteRequest),
  url: 'https://sheets.googleapis.com/v4/spreadsheets/' + spreadsheetId + ':batchUpdate', // 此处传入整个Google Sheets文档的ID
  success: function (r) {
    console.log("行删除成功", r);
  },
  error: function (r) {
    console.log("删除失败", r.responseText);
  }
});

额外注意事项

  • 区分表格ID和工作表ID:spreadsheetId是整个Google Sheets文档的ID(URL中d/与/edit之间的字符串),sheetId是具体工作表的ID(可通过工作表右键"查看源代码"或API获取)
  • 索引从0开始:startIndex:276对应第277行,endIndex:277表示仅删除该行,匹配你的需求
  • 确保授权令牌auth拥有https://www.googleapis.com/auth/spreadsheets的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:25:26