keep google composer apiclient php zend-framework google-spreadsheet zend-gdata

php - google - Zend_GData Spreadsheet-Valor de parámetro de consulta no válido para grid-id



php api client (2)

Solucioné el problema. Pude encontrar SpreadsheetKey y WorkSheetID usando el código de abajo.

$user = ''xxxxxxxxxxxxxxx''; $pass = ''xxxxxxxxxxxxx''; $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); $spreadsheetService = new Zend_Gdata_Spreadsheets($client); $feed = $spreadsheetService->getSpreadsheetFeed(); $sheetName = "Test1"; foreach($feed->entries as $entry) { if($entry->title->text == $sheetName) { $spreadsheetURL = $entry->id; break; } } $spreadsheetKey = basename($spreadsheetURL); $query = new Zend_Gdata_Spreadsheets_DocumentQuery(); $query->setSpreadsheetKey($spreadsheetKey); $feed = $spreadsheetService->getWorksheetFeed($query); echo "Spreadskeet Key : $spreadsheetKey <br/>"; foreach($feed->entries as $entry) { echo "ID of sheet {$entry->title->text} is " . basename($entry->id) . " <br/>"; }

Una vez que obtuve esos valores, mi script no funcionó. Luego descubrí que cuando definimos la matriz, la ''Clave'' debería mencionarse en minúscula sin espacios.

$spreadsheetService->insertRow(array(''name''=>''Prasad'',''value''=>''10000''),$spreadsheetKey,$worksheetId);

Estoy tratando de actualizar una hoja de cálculo de Google a través de la biblioteca Zend_GData. Estoy seguro de que la identificación de usuario y la contraseña son correctas. Creo que el problema está en la clave de la hoja de cálculo o la ID de la hoja de trabajo. Incluso no sé exactamente cómo obtener este ID de hoja de trabajo. Amablemente ayúdame en esto. Esta es la hoja de trabajo exacta de URL a m.

https://docs.google.com/spreadsheet/ccc?key=0AmW1-CVeX7oOdGRkYURWNXVMRi1DTW9NTGNhZ09OTGc&hl=en_US#gid=0

Aquí está mi código.

$user = ''xxxxxxxxxxxxxxxxxxxxxx''; $pass = ''xxxxxxxxxxxxxxxxxx''; $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); $spreadsheetService = new Zend_Gdata_Spreadsheets($client); $spreadsheetKey = "0AmW1-CVeX7oOdGRkYURWNXVMRi1DTW9NTGNhZ09OTGc"; $worksheetId = "Sheet1"; try { $spreadsheetService->insertRow(array(''Prasad'',''10000''),$spreadsheetKey,$worksheetId); } catch(Exception $error) { echo $error->getMessage() ; }

Y este es el mensaje de error que veo en la pantalla de mi navegador.

El código de respuesta esperado 200 obtuvo 400 valor de parámetro de consulta no válido para grid-id.


Por favor prueba este código también, probado y trabajado para mí

<?php // load Zend Gdata libraries require_once ''Zend/Loader.php''; Zend_Loader::loadClass(''Zend_Gdata_Spreadsheets''); Zend_Loader::loadClass(''Zend_Gdata_ClientLogin''); // set credentials for ClientLogin authentication $user = "xxxxxxxxxxxxxxx"; $pass = "xxxxxxxxxxxxxxx"; try { // connect to API $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); $service = new Zend_Gdata_Spreadsheets($client); // get list of available spreadsheets $feed = $service->getSpreadsheetFeed(); } catch (Exception $e) { die(''ERROR: '' . $e->getMessage()); } foreach($feed->entries as $entry) { $spreadsheetURL = $entry->id; } $spreadsheetKey = basename($spreadsheetURL); $query = new Zend_Gdata_Spreadsheets_DocumentQuery(); $query->setSpreadsheetKey($spreadsheetKey); $feed = $service->getWorksheetFeed($query); echo "Spreadsheet Key: <strong>$spreadsheetKey</strong> <br>"; foreach($feed as $entry) { $sName = $entry->title->text; echo "ID of sheet $sName is: <strong>".basename($entry->id)."</strong><br>"; } ?>