如何使用 php google api 更改电子表格的列宽

How do I change the column widths of my spreadsheet using the php google api

我正在使用 Google API V4 指南示例 here 中给出的示例修改为调用 UpdateDimensionProperties 来更改 [=22= 中第一列的宽度] 到 200 像素,但出现错误。有没有人有这个操作的工作示例?

public function setColumWidths($spreadsheetID, $sheetId) {        
    $dimensionRange = new Google_Service_Sheets_DimensionRange([
        'sheetId' => $sheetId,
        'dimension' => 'COLUMNS',
        'startIndex' => 1,
        'endIndex' => 1        
    ]);

    $dimensionProperties = new Google_Service_Sheets_DimensionProperties([
        'hiddenByFilter' => false,
        'hiddenByUser' => false,
        'pixelSize' => 200,
        'developerMetadata' => [
        ]                    
    ]);


    $requests = [
        // Change the width of the first column in the named sheetId to 200 pixels
        new Google_Service_Sheets_Request([
            'UpdateDimensionProperties' => [
                'range' => $dimensionRange,
                'properties' => $dimensionProperties,                       
                'fields' => 'pixelSize'
            ]
        ])
    ];          

    $request = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest($requests);
    $result = $this->sheetsService->spreadsheets->batchUpdate($spreadsheetID, $request);               
}

我一定是误用了 Google_Service_Sheets_Request,因为没有这个就可以很好地编码。虽然把那部分整理好会很好,但这段代码有效并允许我继续:

public function setColumWidths($spreadsheetID, $sheetId) {

    $dimensionRange = new Google_Service_Sheets_DimensionRange([
        'sheetId' => $sheetId,
        'dimension' => 'COLUMNS',
        'startIndex' => 0,
        'endIndex' => 1        
    ]);

    $dimensionProperties = new Google_Service_Sheets_DimensionProperties([
        'pixelSize' => 200                   
    ]);

    $requestBody = [
        'requests' => [
            'updateDimensionProperties' => [
                'range' => $dimensionRange,
                'properties' => $dimensionProperties,
                'fields' => 'pixelSize'
            ]
        ]
    ];        

    $request = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest($requestBody);
    $result = $this->sheetsService->spreadsheets->batchUpdate($spreadsheetID, $request);        

}