仅使用ajax从google电子表格中删除行



我想使用简单的jquery从Gsheet中删除整行,我的代码是:

var arr = {
"deleteDimension": {
"range": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 276,
"endIndex": 277
}
}
};
$.ajax({
type: 'delete',
headers: { Authorization: "Bearer " + auth, 'content-type': 'application/json' },
//  data: JSON.stringify(arr),
url: 'https://sheets.googleapis.com/v4/spreadsheets/' + sheetId +'/sheetname!A276:A277' ,
success: function (r) {
console.log(r)
;
}, error: function (r) {
console.log(r)

}
}); 

我认为url或post数据参数不正确。任何帮助都将不胜感激。

修改点:

  • 在脚本中,range属性的sheetId是工作表ID。在端点,请使用电子表格ID。
    • 您可以在此官方文档中查看有关电子表格ID和工作表ID的信息
  • 为了使用";deleteDimension";,请使用";方法:电子表格。batchUpdate">
  • 在这种情况下,将使用POST方法
  • 请使用data: JSON.stringify(arr)包含请求正文

当这些点反映在脚本中时,它会变成如下。

修改的脚本:

var spreadsheetId = "###"; // Please set your Spreadsheet ID here.
var sheetId = "###"; // Please set your sheet ID here.
var auth = "###"; // Please set your access token.
var arr = {
"requests": [{
"deleteDimension": {
"range": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 276,
"endIndex": 277
}
}
}]
};
$.ajax({
type: 'POST',
headers: { Authorization: "Bearer " + auth, 'content-type': 'application/json' },
data: JSON.stringify(arr),
url: 'https://sheets.googleapis.com/v4/spreadsheets/' + spreadsheetId + ':batchUpdate',
success: function (r) {
console.log(r);
}, error: function (r) {
console.log(r);
}
});
  • 当运行该脚本时,使用";方法:电子表格。batchUpdate">

注意:

  • 这个修改后的脚本假设您的访问令牌可以用于使用";方法:电子表格。batchUpdate"。请小心

参考文献:

  • 方法:spreadsheets.batchUpdate
  • 删除维度请求

最新更新