Google Sheets API v4 обновляет формат номеров ячеек, ничего не меняя

Я хочу обновить числовой формат ячеек в Google Sheets API v4, не меняя ничего, например, цвета фона.

Приведенный ниже код обновляет числовой формат ячейки, но также сбрасывает такие вещи, как цвет фона. Я думал, что установка $fields = 'userEnteredFormat.numberFormat'; оставит другие настройки в покое. Есть ли способ получить то, что я хочу, без необходимости указывать все остальные параметры форматирования?

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$auth = __DIR__ . '/path-to-auth.json';
$creds = __DIR__ . '/path-to-creds.json';
$spreadsheetId = 'spreadsheet-id';
$sheetId = 0;
$format = '0.0%';

$client = new Google_Client();
$client->setAuthConfig($auth);
$token = file_get_contents($creds);
$client->setAccessToken($token);

$service = new Google_Service_Sheets($client);

$numberFormat = new Google_Service_Sheets_NumberFormat();
$numberFormat->setType('NUMBER');
$numberFormat->setPattern($format);
$cellFormat = new Google_Service_Sheets_CellFormat();
$cellFormat->setNumberFormat($numberFormat);
$cellData = new Google_Service_Sheets_CellData();
$cellData->setUserEnteredFormat($cellFormat);
$rowData = new Google_Service_Sheets_RowData();
$rowData->setValues([$cellData]);
$rows[] = $rowData;

$gridRange = new Google_Service_Sheets_GridRange();
$gridRange->setSheetId($sheetId);
$gridRange->setStartRowIndex(0);
$gridRange->setEndRowIndex(1);
$gridRange->setStartColumnIndex(0);
$gridRange->setEndColumnIndex(1);

$fields = 'userEnteredFormat.numberFormat';

$updateCellsRequest = new Google_Service_Sheets_UpdateCellsRequest();
$updateCellsRequest->setFields($fields);
$updateCellsRequest->setRows($rows);
$updateCellsRequest->setRange($gridRange);

$request = new Google_Service_Sheets_Request();
$request->setUpdateCells($updateCellsRequest);
$batchUpdate = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
$batchUpdate->setRequests([$request]);

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

?>

person Ryutaro Ikeda    schedule 30.07.2016    source источник
comment
Я не знаком с PHP, но вы можете проверить this и этот о формате в Sheets API   -  person KENdi    schedule 01.08.2016


Ответы (1)


Это была ошибка службы при обработке конкретного запроса. Это должно быть исправлено где-то на следующей неделе. Извините за неприятности.

person Sam Berlin    schedule 22.08.2016