Cómo guardar los datos en una hoja de cálculo unpublic Google usando PHP sin biblioteca Zend Gdata?

StackOverflow https://stackoverflow.com/questions/1525502

  •  20-09-2019
  •  | 
  •  

Pregunta

¿Cómo puedo guardar datos en la hoja de cálculo de Google unpublic en PHP sin utilizar Zend Gdata lib ? No puedo utilizar bibliotecas de Zend, como se muestra en google tutoriales, ya que el servidor php en el que estoy ejecutando el script es php v. 5.0.4 . He intentado encontrar una solución utilizando rizo, pero no podemos omitir el problema con la autenticación cuando el doc es unpublic. ¿Cómo puedo hacerlo? Si alguien lo ha intentado, por favor comparta la solución.

¿Fue útil?

Solución

He descubierto solución utilizando rizo y mediante la creación de una forma de hoja de cálculo de la Google. Para hojas de cálculo preparado usted tiene que crear una forma, sin opciones: Requerir inicio de sesión para ver este formulario y Recopilar automáticamente el nombre de usuario encuestado . A continuación, comprobar, utilizando F. E. firebug, el URI y enviar los datos de forma de correos y utilizarlo para siguiente secuencia de comandos:

#prepare post data
$fields = array('backupCache' => '',
            'entry.0.single'=>urlencode($data['name']),
            'entry.1.single'=>urlencode($data['surname']),
            'pageNumber'=>urlencode(0),   
            'submit'=>'Submit');
$fields_string = '';

foreach($fields as $key=>$value) {
  $fields_string .= $key.'='.$value.'&';
}

rtrim($fields_string,"& ");
$fields_string = substr($fields_string, 0, strlen($fields_string)-1);

$ch = curl_init();
#set curl_setopt for your preferences
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);    
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);    

curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);

#set proper form uri
curl_setopt($ch, CURLOPT_URL, $formUri);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);

$res = curl_exec($ch);
curl_close($ch);

Puede que no sea la solución más perfecta, pero funciona. :)

Otros consejos

Aquí es una clase PHP orientado a objetos para enviar datos a una hoja de cálculo de Google Docs - http://code.google.com/p/php-form-builder-class/source/browse/trunk/includes/class .spreadsheet.php? Spec = svn384 & r = 384

Curl se utiliza en lugar de lib GData de Zend. Se puede encontrar una implementación de ejemplo a continuación. Recuerde reemplazar los ajustes de prueba ( "my_google_email", "my_google_password", etc) con su información específica.

$doc = new spreadsheet();
$doc->authenticate("my_google_email", "my_google_password");
$doc->setSpreadsheet("my_spreadsheet_title");
$doc->setWorksheet("my_worksheet_title");
$my_data = array("First Name" => "John", "Last Name" => "Doe");
$doc->add($my_data);

Las claves de la matriz asociativa que se pasan al método add necesitan para que coincida con los títulos de las columnas de las hojas de cálculo que utiliza para recopilar los datos.

Puede acceder a las API de GData utilizando peticiones HTTP ordinarios; una biblioteca sólo hace que esto sea más fácil para usted. Es, básicamente, acaba de terminar la reescritura de los bits de la biblioteca que desea utilizar.

Vea la .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top