1

я пытаюсь создать лист Google с более чем 1000 строк, и я получаю ошибку:Создание листа с более чем 1000 строками

{ 
    "error": { 
    "code": 400, 
    "message": "Invalid sheets[0].data[0]: Attempting to write row: 1000, beyond the last requested row of: 999", 
    "errors": [ 
     { 
     "message": "Invalid sheets[0].data[0]: Attempting to write row: 1000, beyond the last requested row of: 999", 
     "domain": "global", 
     "reason": "badRequest" 
     } 
    ], 
    "status": "INVALID_ARGUMENT" 
    } 
} 

Я также попытался создать пустой лист, а затем запустить пакетное обновление звонки с GridRanges.

$range = new Google_Service_Sheets_GridRange(); 
$range->setSheetId($sheetId); 
$range->setStartRowIndex(0); 
$range->setEndRowIndex(sizeof($data)); 
$range->setStartColumnIndex(0); 
$range->setEndColumnIndex(sizeof(array_keys($data[0]))); 

$cellsRequest = new Google_Service_Sheets_UpdateCellsRequest(); 
$cellsRequest->setFields('*'); 
$cellsRequest->setRange($range); 
$cellsRequest->setRows($rowDataArray); 

$request = new Google_Service_Sheets_Request(); 
$request->setUpdateCells($cellsRequest); 

$batchUpdate = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(); 
$batchUpdate->setRequests(array($request)); 
$result = $service->spreadsheets->batchUpdate($documentId, $batchUpdate); 

Когда это не сработало, я попробовал UpdateCellRequests с диапазонами размером 1000 записей. Это дало мне эту ошибку:

{ 
    "error": { 
    "code": 400, 
    "message": "Invalid JSON payload received. Unknown name \"update_cells\" at 'requests[0]': Proto field is not repeating, cannot start list.", 
    "errors": [ 
     { 
     "message": "Invalid JSON payload received. Unknown name \"update_cells\" at 'requests[0]': Proto field is not repeating, cannot start list.", 
     "domain": "global", 
     "reason": "badRequest" 
     } 
    ], 
    "status": "INVALID_ARGUMENT" 
    } 
} 

Любая помощь в том, куда идти отсюда будет здорово!

спасибо.

ответ

3

Диапазон записи усечен до размера листа, а лист составляет всего 1000 строк. Вам нужно увеличить количество строк в листе, используя сначала UpdateSheetPropeetiesRequest или InsertDimensionRequest. (Это может быть в том же вызове batchUpdateSpreadsheet.)

Это довольно ошибочное сообщение об ошибке, тем не менее, поэтому я рассмотрю, как это сделать лучше.

+0

После этого я получил HTTP-код 502. – William

+0

Можно ли загрузить CSV и затем автоматически преобразовать его в листы Google? – William

+0

Каково было сообщение об ошибке с 502? И вы можете использовать API дисков для преобразования CSV, я считаю. –