使用zend gdata插件上传文档

时间:2011-12-14 14:35:16

标签: php zend-framework gdata gdata-api zend-gdata

我正在尝试使用Zend_Gdata插件将文档上传到Google文档中。它上传得很好。

但默认情况下该文档变为私有。如何将其设置为公开。如何获取doc到我的doc的doc id和URL链接,以便其他人可以访问它以仅查看?

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$client  = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, $service);
$docs    = new Zend_Gdata_Docs($client);
$feed    = $docs->getDocumentListFeed();

$newDocumentEntry = $docs->uploadFile(
    $filename, $name, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI
);

我感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:4)

您必须提供一个不同的URI作为uploadFile()函数的第四个参数,您正在使用的那个将把文档发送给私有。 (见下文)

查看Zend_Gdata_Docs的源代码。

class Zend_Gdata_Docs extends Zend_Gdata
{
    const DOCUMENTS_LIST_FEED_URI 
        = 'https://docs.google.com/feeds/documents/private/full';
    // ...

如您所见,班级const正在链接到私人路径。您不必使用Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI,而是必须使用公共。 ,根据Google's Documents List Feed API,它们接受私有

  

visibility参数有两个可能的值:private和public。

     

注意:目前,private是Documents List API中唯一可用的可见性。有关详细信息,请参阅下面的Visibility值。


顺便说一下,最终结果应该将Zend_Gdata_App_Entry对象返回给$newDocumentEntry,我认为您应该能够调用$newDocumentEntry->getEditLink()等函数。

如果您想查看该对象中存储的其他内容:

Zend_Debug::dump($newDocumentEntry);
祝你好运!