Загружать документы с помощью плагина zend gdata

54
4

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


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


Я ценю любую помощь.


Спасибо

спросил(а) 2011-12-14T17:35:00+04:00 7 лет, 11 месяцев назад
1
Решение
68

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


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

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


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


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


Zend_Debug::dump($newDocumentEntry);

Удачи!

ответил(а) 2011-12-17T12:53:00+04:00 7 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема