2010-03-16 49 views
4

我正在基于谷歌应用程序的基本系统。就像我之前定义的那样,我正在构建一个简单的订购系统,并且为每个订单添加一个文件或文档。我希望能够设置它,以便我上传的任何文件都可以上传到Google文档中,并且我可以通过我自己的应用程序维护对该文件的引用,即这些文件与这样和那样的顺序有关。我的应用程序是基于谷歌应用程序的,希望能够在今后将其部署到云中。我该如何开始,我需要做什么?是否已经有可以使用和应用的工作小部件,或者是否需要为此创建自己的定制解决方案?需要上传文件到谷歌文档从我的应用程序和商店参考上传的文件

我正在Php MySQL工作。

回答

8

你所描述的实际上很容易做到。您需要使用Google Documents List Data API(DocsList API)。此API用于在Google文档中创建(上载),检索,更新和删除文档。

具体而言,由于您使用的是PHP,因此您需要使用DocsList API的PHP客户端库。这是documented here。请确保阅读该文档的Getting Started部分,因为它列举了设置Zend Framework的重要步骤,DocsList PHP客户端库与之捆绑在一起。

假设您正在创建文字处理文档(而不是电子表格或演示文稿),您需要上传文档的代码很简单。

// Use ClientLogin to authenticate to Google Docs 
$username = '[email protected]'; 
$password = 'myPassword'; 
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; 
$httpClient = Zend_Gdata_ClientLogin::getHttpClient($username, $password, 
    $service); 
$docs = new Zend_Gdata_Docs($httpClient); 

// Actually upload the file, the second parameter here is the document title 
$newDocumentEntry = $docs->uploadFile('test.txt', 'order-123456', 
    'text/plain', Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI); 

您提到您还想将对这些文档的参考存储在您的系统中。要做到这一点,简单地给每个文档的唯一标题(类似“为了-123456”。)

接下来,获取存储的文件,使用下面的代码:

$docsQuery = new Zend_Gdata_Docs_Query(); 
$docsQuery->setTitle("order-123456"); 
$docsQuery->setTitleExact(true); 
$feed = $docs->getDocumentListFeed($docsQuery); 
foreach ($feed->entries as $entry) { 
    // ... every $entry is an individual document found in the search ... 
} 

注意这个例子是使用ClientLogin,它需要一个原始用户名和密码。一种更好,但不太简单的认证方式是use OAuth/AuthSub。另请注意,PHP客户端库目前仅针对DocsList API版本1.0进行了更新,这已过时。客户端库应该有一个更新版本,以支持更新版本的API。有关更多信息,请参见Google Documents List Data API Developer's Guide。祝你好运!

+0

这个问题我可以找到最清晰的解释。非常感谢 ! –

+0

@Vic Fryzel你好我有一个问题如何在我的android应用程序的谷歌驱动器中创建文件夹? –

+0

Google文档列表API现已弃用。任何人在Google云端硬盘API中找到相同的内容? – Sophivorus

相关问题