我在Google PHP API Client中遇到了很多困難。'requests [0] .update_cells.rows [0]'處的值無效'
我修改了REST.php類來轉儲發送到Google Sheets API的JSON。
獲取生成的JSON是這樣的:
{
"requests": [
{
"updateCells": {
"fields": "*",
"rows": [
[
"0",
"1",
"2",
"3"
],
[
"this",
"is",
"a",
"csv"
]
],
"start": {
"columnIndex": 0,
"rowIndex": 0,
"sheetId": 1503856757
}
}
}
]
}
使用OAuth園地,我可以看到我有無效值。我不知道爲什麼這些值是無效的。
我有一個「插入維度請求」註釋掉。我將維度設置爲10行和10列,以便開始使用,並嘗試找出值爲何無效的原因。錯誤響應沒有說明爲什麼這些值是無效的。
我能夠通過OAuth Playground獲得插入維度請求,但是對於我的生活,我無法獲得updateCellsRequest的工作。
我得到的確切也使用AppendCellsRequest同樣的錯誤。
是否有任何地方可以對正在返回的錯誤進行更詳細的分析?
我在做什麼錯?
// https://developers.google.com/sheets/reference/rest/v4/spreadsheets/request#updatecellsrequest
// Rows, Fields, Start, Range
$updateCellsRequest = new \Google_Service_Sheets_UpdateCellsRequest();
$rowData = array();
$lexer = new Lexer(new LexerConfig());
$interpreter = new Interpreter();
$interpreter->addObserver(function(array $row) use (&$rowData, &$range) {
$sheetRowData = array();
foreach ($row as $column => $value) {
$sheetCellData = new \Google_Service_Sheets_CellData();
$eValue = new \Google_Service_Sheets_ExtendedValue();
if (is_numeric($value)) {
$eValue->setNumberValue($value);
} else {
$eValue->setStringValue($value);
}
$sheetCellData->setUserEnteredValue($eValue);
$sheetRowData[] = $sheetCellData;
}
$sheetRowData = new \Google_Service_Sheets_RowData($sheetRowData);
$rowData[] = $row;
});
$lexer->parse($fileName, $interpreter);
$updateCellsRequest->setRows($rowData);
$updateCellsRequest->setFields('*');
$gridCoord = new \Google_Service_Sheets_GridCoordinate();
$gridCoord->setSheetId($gSheet->getProperties()->getSheetId());
$gridCoord->setRowIndex(0);
$gridCoord->setColumnIndex(0);
$updateCellsRequest->setStart($gridCoord);
$range = new \Google_Service_Sheets_GridRange();
$range->setSheetId($gSheet->getProperties()->getSheetId());
$range->setStartRowIndex(0);
$range->setStartColumnIndex(0);
$updateCellsRequest->setRange($range);
// Google Sheets Service
$sheetsService = new \Google_Service_Sheets($this->client);
// Create a batch update request
$updateRequest = new \Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
// // Insert Dimension Request
// $idr = new \Google_Service_Sheets_InsertDimensionRequest();
// $range = new \Google_Service_Sheets_DimensionRange();
// $range->setSheetId($gSheet->getProperties()->getSheetId());
// $range->setStartIndex(0);
// $range->setDimension('ROWS');
// $range->setEndIndex(sizeof($rowData));
// $idr->setRange($range);
// add a sheets request
$sheetsRequest = new \Google_Service_Sheets_Request();
$sheetsRequest->setUpdateCells($updateCellsRequest);
// $sheetsRequest->setInsertDimension($idr);
// add the sheets request to our batch update
$updateRequest->setRequests(array($sheetsRequest));
編輯
錯誤:
{
"error": {
"status": "INVALID_ARGUMENT",
"message": "Invalid value at 'requests[0].append_cells.rows[0]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"0\"\nInvalid value at 'requests[0].append_cells.rows[1]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"1\"\nInvalid value at 'requests[0].append_cells.rows[2]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"2\"\nInvalid value at 'requests[0].append_cells.rows[3]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"3\"\nInvalid value at 'requests[0].append_cells.rows[0]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"this\"\nInvalid value at 'requests[0].append_cells.rows[1]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"is\"\nInvalid value at 'requests[0].append_cells.rows[2]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"a\"\nInvalid value at 'requests[0].append_cells.rows[3]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"csv\"",
"code": 400,
"details": [
{
"fieldViolations": [
{
"field": "requests[0].append_cells.rows[0]",
"description": "Invalid value at 'requests[0].append_cells.rows[0]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"0\""
},
{
"field": "requests[0].append_cells.rows[1]",
"description": "Invalid value at 'requests[0].append_cells.rows[1]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"1\""
},
{
"field": "requests[0].append_cells.rows[2]",
"description": "Invalid value at 'requests[0].append_cells.rows[2]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"2\""
},
{
"field": "requests[0].append_cells.rows[3]",
"description": "Invalid value at 'requests[0].append_cells.rows[3]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"3\""
},
{
"field": "requests[0].append_cells.rows[0]",
"description": "Invalid value at 'requests[0].append_cells.rows[0]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"this\""
},
{
"field": "requests[0].append_cells.rows[1]",
"description": "Invalid value at 'requests[0].append_cells.rows[1]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"is\""
},
{
"field": "requests[0].append_cells.rows[2]",
"description": "Invalid value at 'requests[0].append_cells.rows[2]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"a\""
},
{
"field": "requests[0].append_cells.rows[3]",
"description": "Invalid value at 'requests[0].append_cells.rows[3]' (type.googleapis.com/google.apps.sheets.v4.RowData), \"csv\""
}
],
"@type": "type.googleapis.com/google.rpc.BadRequest"
}
]
}
}