Errore durante l'inserimento di righe in Google Spreadsheet utilizzando Zend Gdata

Sto provando lo scenario più semplice ansible per inserire righe in Google Spreadsheet usando la libreria Zend Gdata 1.11. Foglio di calcolo ha la parola "Kolona" nella cella A1. Ecco l'integer file php:

<?php require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_Gdata'); Zend_loader::loadClass('Zend_Gdata_Query'); Zend_Loader::loadClass('Zend_Gdata_Spreadsheets'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php error_reporting(E_ALL); ini_set("display_errors", 1); $user = "xxxx"; $pass = "xxxx"; $service = 'wise'; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null, Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null, Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE'); $spreadsheetService = new Zend_Gdata_Spreadsheets($client); $feed = $spreadsheetService->getSpreadsheetFeed(); foreach ($feed as $entry) { echo 'Title: ' . $entry->title . ' - '; echo 'Id: ' . $entry->id . '<br />'; } $rowData = arrays('Kolona' => 'smurf'); $spreadsheetKey = 'xxxx'; $worksheetId = 'xxx'; try{ $insertedListEntry = $spreadsheetService->insertRow($rowData, $spreadsheetKey, $worksheetId); } catch(Zend_Gdata_App_HttpException $exception) { echo "Error: " . $exception->getResponse()->getRawBody(); } ?> </body> </html> 

It ita i fogli di calcolo e scrive nomi e id, il che significa che ho effettuato l'accesso e ho accesso, ma per quanto riguarda l'inserimento della row ottengo un errore: "Siamo spiacenti, si è verificato un errore del server. Attendi e prova a ricaricare il foglio di lavoro ".

 Full error is: "Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 400 We're sorry, a server error has occurred. Please wait and try reloading your spreadsheet.' in C:\wamp\www\ks\gdata\ZendGdata-1.11.10\library\Zend\Gdata\App.php:709 Stack trace: #0 C:\wamp\www\ks\gdata\ZendGdata-1.11.10\library\Zend\Gdata.php(219): Zend_Gdata_App->performHttpRequest('POST', 'https://spreads...', Array, '<atom:entry xml...', 'application/ato...', NULL) #1 C:\wamp\www\ks\gdata\ZendGdata-1.11.10\library\Zend\Gdata\App.php(900): Zend_Gdata->performHttpRequest('POST', 'https://spreads...', Array, '<atom:entry xml...', 'application/ato...') #2 C:\wamp\www\ks\gdata\ZendGdata-1.11.10\library\Zend\Gdata\App.php(975): Zend_Gdata_App->post('<atom:entry xml...', 'https://spreads...', NULL, NULL, Array) #3 C:\wamp\www\ks\gdata\ZendGdata-1.11.10\library\Zend\Gdata\Spreadsheets.php(336): Zend_Gdata_App->insertEntry('<atom:entry xml...', 'https://spreads...', 'Zend_Gdata_Spre...') #4 C:\wamp\www\ks\gdata\gs in C:\wamp\www\ks\gdata\ZendGdata-1.11.10\library\Zend\Gdata\App.php on line 709" 

Che cosa sto facendo di sbagliato? Devo creare un foglio di calcolo in un modo specifico o qualcosa del genere …?

 $rowData = arrays('Kolona' => 'smurf'); - wrong $rowData = arrays('kolona' => 'smurf'); - correct 

Ovviamente, i nomi delle colonne devono essere indicati in lettere minuscole e senza spazi. Posso mantenere "Kolona" nel foglio di lavoro di Google, basta usare le lettere minuscole nel codice.

Se avessi la colonna "My Column 2", nell'arrays dovrebbe essere "mycolumn2".

Ho avuto un problema simile che è sorto a causa della presenza di spazi nella matrix. Rimuovere gli spazi mi ha aiutato:

 $rowData = arrays('kolona' => 'smurf'); - your code $rowData = arrays('kolona'=>'smurf'); - my code