Getting super frustrated trying to get this working. Basically this is for a site (x10hosting.com) where I can’t include the zend gdata framework, so I’m trying to use the Google Data API with php cURL to access it. The most I’ve been able to do is return a list of the supplied usernames worksheets, using this script:
<?php
// Construct an HTTP POST request
$clientlogin_url = "https://www.google.com/accounts/ClientLogin";
$clientlogin_post = array(
"accountType" => "HOSTED_OR_GOOGLE",
"Email" => "", //username
"Passwd" => '', //password
"service" => "writely",
"source" => "your application name"
);
// Initialize the curl object
$curl = curl_init($clientlogin_url);
// Set some options (some for SHTTP)
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $clientlogin_post);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// Execute
$response = curl_exec($curl);
// Get the Auth string and save it
preg_match("/Auth=([a-z0-9_\-]+)/i", $response, $matches);
$auth = $matches[1];
echo "The auth string is: ".$auth;
// Include the Auth string in the headers
// Together with the API version being used
$headers = array(
"Authorization: GoogleLogin auth=".$auth,
"GData-Version: 3.0",
);
// Make the request
$key = ;
curl_setopt($curl, CURLOPT_URL, "https://spreadsheets1.google.com/ccc?key=$key");
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, false);
$response = curl_exec($curl);
curl_close($curl);
var_dump($response);
// Parse the response
$response = simplexml_load_string($response);
// Output data
foreach($response->entry as $file)
{
echo "File: " . $file->title . "<br />";
echo "Type: " . $file->content["type"] . "<br />";
echo "Author: " . $file->author->name . "<br /><br />";
}
?>
But I can’t figure out a way to use this to access one specific worksheet. Please help, this is driving me nuts.
EDIT: Following DASPRiD’s advice gives me this error->
Notice:
Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be
removed with 2.0.0; use
Zend_Loader_Autoloader instead in
/home/c3webdev/public_html/library/Zend/Loader.php
on line 266Warning:
require_once(Zend/Loader/Autoloader.php)
[function.require-once]: failed to
open stream: No such file or directory
in
/home/c3webdev/public_html/library/Zend/Loader.php
on line 267Fatal error: require_once()
[function.require]: Failed opening
required ‘Zend/Loader/Autoloader.php’
(include_path=’/home/c3webdev/public_html/library:.:/usr/lib/php:/usr/local/lib/php’)
in
/home/c3webdev/public_html/library/Zend/Loader.php
on line 267
A query to the following URL should list you all worksheets of a specific spreadsheet:
To install and use Zend_Gdata, do the following:
Download the last package (http://framework.zend.com/releases/ZendGdata-1.10.7/ZendGdata-1.10.7.tar.gz) from the Zend Framework website. Now let’s assume the following directors structure:
Now in your index.php, do the following:
Now you can simply follow the manual (http://framework.zend.com/manual/en/zend.gdata.spreadsheets.html). Interesting for you may be the topics “Get a List of Spreadsheets” for creating the service instance and “Get a List of Worksheets” to fetch all worksheets of a specific spreadsheet.
Update:
It looks like the Zend_Gdata package is not properly packaged. I will note that to get the package fixed. In the meantime, I suggest you to download the complete Zend Framework package. To use the autoloader in 1.8 correctly, do the following instead: