Как создать пустую электронную таблицу с помощью Zend GData
Как создать новую пустую электронную таблицу с помощью библиотеки Zends GData?
3 ответа
Решение
Согласно API Списка документов Google, чтобы создать новую пустую электронную таблицу: следуйте инструкциям в разделе Создание нового документа или файла только с метаданными. При этом используйте термин категории http://schemas.google.com/docs/2007.
С библиотекой Zend GData это может выглядеть так:
// Load Zend library
require_once('Zend/Loader.php');
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Docs');
// Authentication
$client = Zend_Gdata_ClientLogin::getHttpClient('you@there.com', 'sunshine-', Zend_Gdata_Docs::AUTH_SERVICE_NAME);
// Get interface to Documents List API
$docs = new Zend_Gdata_Docs($client);
// Create new document
$data = new Zend_Gdata_Docs_DocumentListEntry();
$data->setCategory(
array(new Zend_Gdata_App_Extension_Category(
"http://schemas.google.com/docs/2007#spreadsheet",
"http://schemas.google.com/g/2005#kind"
)));
$data->setTitle(new Zend_Gdata_App_Extension_Title("My brand new spreadsheet", null));
// Add document to your list
$doc = $docs->insertDocument($data, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
// Display document ID
print($doc->getId());
Вы не можете сделать это в данный момент.
API данных электронных таблиц в настоящее время не позволяет программно создавать или удалять электронную таблицу.
цитата из официальной документации
Вот как я это сделал:
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient('USERNAME', 'PASSOWRD', $service);
$docs = new Zend_Gdata_Docs($client);
// A file I use as a template for this [ based on the extension is the type of document that will be created]
// see: http://framework.zend.com/manual/en/zend.gdata.docs.html
$fileToUpload = 'Rates-Template.xls';
$newDocumentEntry = $docs->uploadFile($fileToUpload, 'Spreadsheet Title Here',null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);