2

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

但默认情况下,该文档变为私有文档。如何将其设置为公开。以及如何获取我的文档的文档 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
);

我很感激任何帮助。

谢谢

4

1 回答 1

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,您将不得不使用 public。但是,根据Google 的 Documents List Feed API,他们似乎接受private

可见性参数有两个可能的值:私有和公共。

注意:目前,私有是文档列表 API 中唯一可用的可见性。有关详细信息,请参阅下面的可见性值。


顺便说一句,最终结果应该返回一个Zend_Gdata_App_Entry对象$newDocumentEntry,我认为您应该可以使用该对象调用诸如$newDocumentEntry->getEditLink()etc之类的函数。

如果您想查看该对象中存储的其他内容,请执行以下操作:

Zend_Debug::dump($newDocumentEntry);

祝你好运!

于 2011-12-17T09:53:19.790 回答