Ich habe viele Schwierigkeiten mit dem Google PHP API Client.Ungültiger Wert bei 'requests [0] .update_cells.rows [0]'
Ich habe die REST.php-Klasse geändert, um den JSON zu speichern, der an die Google Tabellen-API gesendet wird.
Die JSON, die erzeugt wird, ist dies:
{
"requests": [
{
"updateCells": {
"fields": "*",
"rows": [
[
"0",
"1",
"2",
"3"
],
[
"this",
"is",
"a",
"csv"
]
],
"start": {
"columnIndex": 0,
"rowIndex": 0,
"sheetId": 1503856757
}
}
}
]
}
OAuth Spielplatz verwendet, kann ich sehen, dass ich ungültige Werte haben. Ich habe keine Ahnung, warum die Werte ungültig sind.
Ich habe eine "Insert Dimension Request" auskommentiert. Ich setze die Dimension auf 10 Zeilen und 10 Spalten, um zu beginnen und versuche herauszufinden, warum die Werte ungültig sind. Die Fehlerantwort gibt keinen Hinweis darauf, warum diese Werte ungültig sind.
Ich konnte die Insert-Dimensionsanforderungen über den OAuth-Playground ausführen, aber für das Leben von mir kann ich die updateCellsRequest nicht funktionieren.
Ich bekomme die genaue gleichen Fehler bei der Verwendung von AppendCellsRequest als auch.
Gibt es irgendwo eine detailliertere Analyse der Fehler, die zurückgegeben werden?
Was mache ich falsch?
// 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));
bearbeiten
Der Fehler:
{
"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"
}
]
}
}