Необходимо загрузить файлы в документы Google из моего приложения и сохранить ссылку на загруженный файл.

StackOverflow https://stackoverflow.com/questions/2453172

Вопрос

Я работаю над базовой системой на основе приложений Google.Как я определил ранее, я создаю простую систему заказов, и к каждому размещенному заказу я прикрепляю файл или документ.Я хотел бы иметь возможность настроить его так, чтобы любой файл, который я загружаю, загружался в документы Google, и я каким-то образом мог сохранить ссылку на этот файл из своего собственного приложения, т. е. эти файлы имеют такой-то порядок.Надеюсь, мое приложение основано на приложении Google, и я создаю его для последующего развертывания в облаке.С чего начать и что для этого нужно сделать?Существуют ли уже работающие виджеты, которые я могу использовать и применять, или мне нужно будет создать для этого собственное индивидуальное решение?

Я работаю в PHP MySQL.

Это было полезно?

Решение

То, что вы описали, на самом деле сделать довольно легко.Вам необходимо использовать API данных списка документов Google (DocsList API.) Этот API используется для создания (загрузки), получения, обновления и удаления документов в Документах Google.

В частности, поскольку вы используете PHP, вам понадобится клиентская библиотека PHP для API DocsList.Это задокументировано здесь.Обязательно прочтите Начиная часть этого документа, поскольку в нем перечислены важные шаги по созданию Zend-фреймворк, в комплекте с которым поставляется клиентская PHP-библиотека DocsList.

Предполагая, что вы создаете текстовые документы (а не электронные таблицы или презентации), код, необходимый для загрузки документа, прост.

// Use ClientLogin to authenticate to Google Docs
$username = 'user@gmail.com';
$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);

Вы упомянули, что хотели бы также хранить ссылки на эти документы в своей системе.Для этого просто дайте каждому документу уникальное название (что-то вроде «order-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, для которого требуются необработанные имя пользователя и пароль.Лучший, но менее простой способ аутентификации — это используйте OAuth/AuthSub.Также обратите внимание, что клиентская библиотека PHP на данный момент обновляется только для версии 1.0 API DocsList, которая устарела.Вскоре должна выйти обновленная версия клиентской библиотеки для поддержки новых версий API.Для получения дополнительной информации см. Руководство разработчика API данных списка документов Google.Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top