I am trying to hide all gridlines from a file I just created with Google Sheets API, I am using the following code:
$service = $this->GoogleServiceSheets();
$sheetID = null;
$worksheetSheets = $service->spreadsheets->get($fileID)->sheets;
foreach($worksheetSheets as $sheet){ 
    $sheetID = $sheet->properties['sheetId'];     
    break;
}
$service = $this->GoogleServiceSheets(); 
$requests = [
    new Google_Service_Sheets_Request([
        'updateDimensionProperties' => [
            'range'=> new Google_Service_Sheets_DimensionRange([
                'sheetId' => $sheetID,
                'dimension' => 'COLUMNS',
                'startIndex' => 0,
                'endIndex' => 1000        
            ]),
            'properties'=> new Google_Service_Sheets_DimensionProperties([
                "hideGridlines"=> True,                 
            ]),
            'fields' => 'hideGridlines'
        ]
    ])
];
$batchUpdateRequest = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(['requests' => $requests]);
$service->spreadsheets->batchUpdate($fileID, $batchUpdateRequest);   
But does not hide, instead gives me an error. What I am doing wrong?
Advertisement
Answer
In order to hide the grid line of the Google Spreadsheet with Sheets API, UpdateSheetPropertiesRequest of batchUpdate is used. Unfortunately, updateDimensionProperties cannot achieve this. I think that this is the reason of your issue. In order to achieve your goal, when your script is modified, it becomes as follows.
Modified script:
In this modification, your $requests is modified as follows.
$requests = [
    new Google_Service_Sheets_Request([
        'updateSheetProperties' => [
            'properties' => [
                'sheetId' => $sheetID,
                'gridProperties' => [
                    'hideGridlines' => true
                ],
            ],
            'fields' => 'gridProperties.hideGridlines'
        ],
    ])
];
Note:
- In this modification, it supposes that your 
$service = $this->GoogleServiceSheets();and$sheetIDare valid values. And also, it supposes that you have already been able to get and put values for Google Spreadsheet using Sheets API. Please be careful this.