Загрузить документы с помощью плагина Zend Gdata - PullRequest
2 голосов
/ 14 декабря 2011

Я пытаюсь загрузить документ в Google документы с помощью плагина Zend_Gdata.Он загружает нормально.

Но документ по умолчанию становится закрытым.Как я могу установить это для общественности.И как я могу получить идентификатор документа и ссылку 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 Ответ

4 голосов
/ 17 декабря 2011

Вы должны указать другой 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. Однако , согласно API фида списка документов Google , похоже, что они только принимают личное .

Параметр видимости имеет два возможных значения: private и public.

Примечание. В настоящее время private - единственная видимость, доступная в API списка документов.Для получения дополнительной информации см. Значения Visibility ниже.


Кстати, конечный результат должен вернуть объект Zend_Gdata_App_Entry в $newDocumentEntry, с которым я думаюу вас должна быть возможность вызывать такие функции, как $newDocumentEntry->getEditLink() и т. д.

Если вы хотите посмотреть, что еще хранится в этом объекте, которые делают это:

Zend_Debug::dump($newDocumentEntry);

Удачи!

...