我尝试结合https://developers.google.com/sheets/api/samples/conditional-formatting
中的两个例子删除需要删除索引,但读取API响应中不会返回。我试着假设数组中返回格式的索引是合适的,但是这遇到了一个错误"没有条件格式在索引"在操作过程中,在它们全部被删除之前。
以下是我要清除的工作表的副本:https://docs.google.com/spreadsheets/d/1Y0tsEcka-1gziimesE74IhPFqGkUO985eZNoVQ9y0BU/edit#gid=0
答案 0 :(得分:2)
这个解决方案怎么样?在此解决方案中,您可以通过2次API请求来解决问题。
sheets.spreadsheets.get
用于此情况。
GET https://sheets.googleapis.com/v4/spreadsheets/### spreadsheet ID ###?ranges=### sheet name ###&fields=sheets%2FconditionalFormats%2Franges%2FsheetId
请输入### spreadsheet ID ###
和### sheet name ###
。
此响应检索条件格式的数量。这用于删除条件格式。
{"sheets": [{"conditionalFormats": [
{"ranges": [{"sheetId": #####}]},
{"ranges": [{"sheetId": #####}]}
]}]}
sheets.spreadsheets.batchUpdate
用于此情况。
POST https://sheets.googleapis.com/v4/spreadsheets/### spreadsheet ID ###:batchUpdate
此处,index
表示通过上述GET
方法检索的条件格式的数量。例如,当工作表中有2种条件格式时,requests
的长度为2.以下requests[0]
表示sheets.conditionalFormats[0]
,如上所示。
{"requests": [
{"deleteConditionalFormatRule": {"sheetId": #####, "index": 0}},
{"deleteConditionalFormatRule": {"sheetId": #####, "index": 1}}
]}
请输入### spreadsheet ID ###
和sheetId
。
如果我误解了你的问题,我很抱歉。