如何通过Google表格API删除数据验证规则

Currently I'm using the Google Sheets API via their PHP library to build a dynamic spreadsheet. I've set validation rules on a spreadsheet, specifically to create a dropdown list of states to select.

I have since updated the spreadsheet to have the state dropdown list in a different column. Upon doing this however, it seems the DataValidationRule that was set for the previous column, is still there.

I've attempted to create a method to REMOVE all validation from my sheet before re-applying any validation I want, but it does not seem to be working.

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/other#conditiontype

When setting a Condition Type, I'd like to revert the validation back to CONDITION_TYPE_UNSPECIFIED, however the API simply returns an error if I do so. I've attempted to use others such as ONE_OF_LIST, but then every cell errors saying:

Invalid: Input must be an item on specified list

Which makes sense, considering there is no list being generated (nor do I want one).

The rest of the columns can be any sort of combination of numbers/dates/text so I'd like to simply remove all validation before applying validation again.

Here's my current clearValidation code:

public function clearSpreadsheetValidations($spreadsheetId) {
    $client = $this->getClient();
    $service = new Google_Service_Sheets($client);

    $conditions = new Google_Service_Sheets_BooleanCondition();
    $conditions->setType('CONDITION_TYPE_UNSPECIFIED');
    $conditions->setValues(null);

    $setRule= new Google_Service_Sheets_DataValidationRule();
    $setRule->setCondition($conditions);
    $setRule->setInputMessage(null);
    $setRule->setShowCustomUi(false);

    $valReq = new Google_Service_Sheets_SetDataValidationRequest();
    $valReq->setRule($setRule);

    $sheetReq = new Google_Service_Sheets_Request();
    $sheetReq->setSetDataValidation($valReq);

    $requestBody = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
    $requestBody->setRequests($sheetReq);

    $service->spreadsheets->batchUpdate($spreadsheetId, $requestBody);
}

How can I call the sheets API to remove all previously set DataValidationRules in a spreadsheet?

Thanks!

Okay, as noted here

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request

SetDataValidationRequest

Sets a data validation rule to every cell in the range. To clear validation in a range, call this with no rule specified.

So all I had to do, was simply not declare a range, or set a rule, and ran this method on the existing spreadsheet to clear all existing validations

public function clearSpreadsheetValidations($spreadsheetId) {
    $client = $this->getSheetsClient();
    $service = new Google_Service_Sheets($client);
    $valReq = new Google_Service_Sheets_SetDataValidationRequest();
    $sheetReq = new Google_Service_Sheets_Request();
    $sheetReq->setSetDataValidation($valReq);

    $requestBody = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
    $requestBody->setRequests($sheetReq);

    $service->spreadsheets->batchUpdate($spreadsheetId, $requestBody);
}