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

如何通过Google Sheets API为已保护工作表添加未保护范围?

实现方法说明

可以通过更新已有受保护范围的配置直接修改unprotectedRanges数组,不需要单独的追加接口,操作步骤如下:

  • 先调用spreadsheets.protectedRanges.get接口获取目标受保护范围的完整配置,记录两个核心信息:该范围的protectedRangeId、现有unprotectedRanges数组的全部内容
  • 构造你需要取消保护的3个单元格的范围对象,格式和接口返回的range结构一致,遵循左闭右开的索引规则:比如A1单元格对应的配置为{"sheetId": 你的工作表ID, "startRowIndex": 0, "endRowIndex": 1, "startColumnIndex": 0, "endColumnIndex": 1}
  • 将3个新的范围对象追加到原有unprotectedRanges数组中,得到合并后的完整数组
  • 调用spreadsheets.protectedRanges.update接口提交修改,需要在请求查询参数中添加updateMask=unprotectedRanges,确保仅修改未保护范围配置,不会覆盖受保护范围的其他权限、描述等设置
请求体示例
{
  "unprotectedRanges": [
    // 原有未保护范围保留
    {"sheetId": 123456, "startRowIndex": 0, "endRowIndex": 2, "startColumnIndex": 0, "endColumnIndex": 1},
    // 新增的3个单元格范围
    {"sheetId": 123456, "startRowIndex": 5, "endRowIndex": 6, "startColumnIndex": 2, "endColumnIndex": 3},
    {"sheetId": 123456, "startRowIndex": 7, "endRowIndex": 8, "startColumnIndex": 2, "endColumnIndex": 3},
    {"sheetId": 123456, "startRowIndex": 9, "endRowIndex": 10, "startColumnIndex": 2, "endColumnIndex": 3}
  ]
}
注意事项
  • 不要直接传入仅包含新增3个范围的数组,必须合并原有未保护范围后再提交,否则原有未保护范围会被覆盖
  • 确保你调用接口的账号对该工作表有编辑保护范围的权限,否则会返回权限错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:54:02