能否通过Google Sheets API移除工作表绘图?附等效Apps Script示例
可以通过Google Sheets API实现等效的绘图移除操作
完全可以用Google Sheets API实现你要的功能,对应你提供的Apps Script代码,核心是调用API的batchUpdate方法,使用DeleteObjectRequest来删除指定的绘图。
具体步骤:
获取目标绘图的
objectId
你需要先通过spreadsheets.get接口获取工作表中的绘图信息,找到对应绘图的objectId(对应你代码里getDrawings()[0]的那个绘图)。请求时可设置includeGridData=false并指定目标工作表,返回结果的sheets[0].drawings数组会包含每个绘图的objectId。调用
batchUpdate执行删除
构造batchUpdate请求,传入获取到的objectId,通过DeleteObjectRequest完成绘图删除。
请求示例(HTTP POST):
POST https://sheets.googleapis.com/v4/spreadsheets/{SPREADSHEET_ID}:batchUpdate Authorization: Bearer {YOUR_ACCESS_TOKEN} Content-Type: application/json { "requests": [ { "deleteObject": { "objectId": "{DRAWING_OBJECT_ID}" } } ] }
与Apps Script代码的对应关系:
SpreadsheetApp.openById(SHEET_ID).getSheets()[0]→ API中指定目标工作表(sheets[0])getDrawings()[0]→ 获取对应绘图的objectId.remove()→ API的DeleteObjectRequest操作
这样就能实现和你提供的Apps Script代码完全等效的功能。
内容的提问来源于stack exchange,提问作者user22309393
相关产品推荐
相关产品推荐

